      module mo_lu_factor
      private
      public :: lu_fac
      contains
      subroutine lu_fac01( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(1) = 1._r8 / lu(1)
         lu(2) = lu(2) * lu(1)
         lu(3) = lu(3) * lu(1)
         lu(286) = lu(286) - lu(2) * lu(275)
         lu(297) = lu(297) - lu(3) * lu(275)
         lu(4) = 1._r8 / lu(4)
         lu(5) = lu(5) * lu(4)
         lu(8) = lu(8) - lu(5) * lu(6)
         lu(357) = lu(357) - lu(5) * lu(320)
         lu(426) = lu(426) - lu(5) * lu(406)
         lu(588) = lu(588) - lu(5) * lu(559)
         lu(7) = 1._r8 / lu(7)
         lu(8) = lu(8) * lu(7)
         lu(357) = lu(357) - lu(8) * lu(321)
         lu(426) = lu(426) - lu(8) * lu(407)
         lu(494) = lu(494) - lu(8) * lu(476)
         lu(588) = lu(588) - lu(8) * lu(560)
         lu(9) = 1._r8 / lu(9)
         lu(10) = lu(10) * lu(9)
         lu(11) = lu(11) * lu(9)
         lu(18) = lu(18) - lu(10) * lu(17)
         lu(21) = lu(21) - lu(11) * lu(17)
         lu(458) = lu(458) - lu(10) * lu(457)
         lu(470) = lu(470) - lu(11) * lu(457)
         lu(12) = 1._r8 / lu(12)
         lu(13) = lu(13) * lu(12)
         lu(185) = lu(185) - lu(13) * lu(178)
         lu(197) = lu(197) - lu(13) * lu(186)
         lu(273) = lu(273) - lu(13) * lu(252)
         lu(297) = lu(297) - lu(13) * lu(276)
         lu(557) = lu(557) - lu(13) * lu(538)
         lu(14) = 1._r8 / lu(14)
         lu(15) = lu(15) * lu(14)
         lu(16) = lu(16) * lu(14)
         lu(124) = lu(124) - lu(15) * lu(122)
         lu(130) = - lu(16) * lu(122)
         lu(260) = - lu(15) * lu(253)
         lu(273) = lu(273) - lu(16) * lu(253)
         lu(284) = lu(284) - lu(15) * lu(277)
         lu(297) = lu(297) - lu(16) * lu(277)
         lu(391) = lu(391) - lu(15) * lu(383)
         lu(404) = lu(404) - lu(16) * lu(383)
         lu(18) = 1._r8 / lu(18)
         lu(19) = lu(19) * lu(18)
         lu(20) = lu(20) * lu(18)
         lu(21) = lu(21) * lu(18)
         lu(48) = - lu(19) * lu(46)
         lu(49) = - lu(20) * lu(46)
         lu(50) = - lu(21) * lu(46)
         lu(459) = - lu(19) * lu(458)
         lu(465) = lu(465) - lu(20) * lu(458)
         lu(470) = lu(470) - lu(21) * lu(458)
         lu(572) = lu(572) - lu(19) * lu(561)
         lu(578) = lu(578) - lu(20) * lu(561)
         lu(583) = - lu(21) * lu(561)
         lu(22) = 1._r8 / lu(22)
         lu(23) = lu(23) * lu(22)
         lu(24) = lu(24) * lu(22)
         lu(25) = lu(25) * lu(22)
         lu(26) = lu(26) * lu(22)
         lu(27) = lu(27) * lu(22)
         lu(214) = lu(214) - lu(23) * lu(213)
         lu(215) = lu(215) - lu(24) * lu(213)
         lu(216) = lu(216) - lu(25) * lu(213)
         lu(217) = lu(217) - lu(26) * lu(213)
         lu(218) = lu(218) - lu(27) * lu(213)
         lu(361) = lu(361) - lu(23) * lu(358)
         lu(366) = lu(366) - lu(24) * lu(358)
         lu(371) = lu(371) - lu(25) * lu(358)
         lu(372) = lu(372) - lu(26) * lu(358)
         lu(373) = lu(373) - lu(27) * lu(358)
         lu(28) = 1._r8 / lu(28)
         lu(29) = lu(29) * lu(28)
         lu(30) = lu(30) * lu(28)
         lu(31) = lu(31) * lu(28)
         lu(32) = lu(32) * lu(28)
         lu(226) = lu(226) - lu(29) * lu(224)
         lu(228) = lu(228) - lu(30) * lu(224)
         lu(230) = lu(230) - lu(31) * lu(224)
         lu(232) = lu(232) - lu(32) * lu(224)
         lu(281) = lu(281) - lu(29) * lu(278)
         lu(283) = lu(283) - lu(30) * lu(278)
         lu(286) = lu(286) - lu(31) * lu(278)
         lu(288) = lu(288) - lu(32) * lu(278)
         lu(388) = lu(388) - lu(29) * lu(384)
         lu(390) = lu(390) - lu(30) * lu(384)
         lu(393) = lu(393) - lu(31) * lu(384)
         lu(395) = lu(395) - lu(32) * lu(384)
         lu(33) = 1._r8 / lu(33)
         lu(34) = lu(34) * lu(33)
         lu(35) = lu(35) * lu(33)
         lu(36) = lu(36) * lu(33)
         lu(37) = lu(37) * lu(33)
         lu(38) = lu(38) * lu(33)
         lu(39) = lu(39) * lu(33)
         lu(330) = - lu(34) * lu(322)
         lu(339) = - lu(35) * lu(322)
         lu(340) = lu(340) - lu(36) * lu(322)
         lu(342) = lu(342) - lu(37) * lu(322)
         lu(347) = lu(347) - lu(38) * lu(322)
         lu(351) = lu(351) - lu(39) * lu(322)
         lu(433) = lu(433) - lu(34) * lu(427)
         lu(438) = lu(438) - lu(35) * lu(427)
         lu(439) = lu(439) - lu(36) * lu(427)
         lu(441) = lu(441) - lu(37) * lu(427)
         lu(446) = lu(446) - lu(38) * lu(427)
         lu(450) = lu(450) - lu(39) * lu(427)
         lu(40) = 1._r8 / lu(40)
         lu(41) = lu(41) * lu(40)
         lu(42) = lu(42) * lu(40)
         lu(43) = lu(43) * lu(40)
         lu(44) = lu(44) * lu(40)
         lu(45) = lu(45) * lu(40)
         lu(169) = lu(169) - lu(41) * lu(168)
         lu(170) = - lu(42) * lu(168)
         lu(173) = - lu(43) * lu(168)
         lu(174) = - lu(44) * lu(168)
         lu(175) = lu(175) - lu(45) * lu(168)
         lu(435) = lu(435) - lu(41) * lu(428)
         lu(439) = lu(439) - lu(42) * lu(428)
         lu(450) = lu(450) - lu(43) * lu(428)
         lu(451) = lu(451) - lu(44) * lu(428)
         lu(453) = lu(453) - lu(45) * lu(428)
         lu(519) = lu(519) - lu(41) * lu(514)
         lu(521) = lu(521) - lu(42) * lu(514)
         lu(531) = lu(531) - lu(43) * lu(514)
         lu(532) = lu(532) - lu(44) * lu(514)
         lu(534) = - lu(45) * lu(514)
      end subroutine lu_fac01
      subroutine lu_fac02( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(47) = 1._r8 / lu(47)
         lu(48) = lu(48) * lu(47)
         lu(49) = lu(49) * lu(47)
         lu(50) = lu(50) * lu(47)
         lu(51) = lu(51) * lu(47)
         lu(52) = lu(52) * lu(47)
         lu(199) = lu(199) - lu(48) * lu(198)
         lu(201) = lu(201) - lu(49) * lu(198)
         lu(203) = - lu(50) * lu(198)
         lu(204) = - lu(51) * lu(198)
         lu(205) = - lu(52) * lu(198)
         lu(438) = lu(438) - lu(48) * lu(429)
         lu(446) = lu(446) - lu(49) * lu(429)
         lu(451) = lu(451) - lu(50) * lu(429)
         lu(454) = lu(454) - lu(51) * lu(429)
         lu(456) = lu(456) - lu(52) * lu(429)
         lu(572) = lu(572) - lu(48) * lu(562)
         lu(578) = lu(578) - lu(49) * lu(562)
         lu(583) = lu(583) - lu(50) * lu(562)
         lu(586) = lu(586) - lu(51) * lu(562)
         lu(588) = lu(588) - lu(52) * lu(562)
         lu(53) = 1._r8 / lu(53)
         lu(54) = lu(54) * lu(53)
         lu(55) = lu(55) * lu(53)
         lu(56) = lu(56) * lu(53)
         lu(57) = lu(57) * lu(53)
         lu(58) = lu(58) * lu(53)
         lu(59) = lu(59) * lu(53)
         lu(366) = lu(366) - lu(54) * lu(359)
         lu(373) = lu(373) - lu(55) * lu(359)
         lu(376) = lu(376) - lu(56) * lu(359)
         lu(377) = - lu(57) * lu(359)
         lu(380) = lu(380) - lu(58) * lu(359)
         lu(382) = lu(382) - lu(59) * lu(359)
         lu(440) = lu(440) - lu(54) * lu(430)
         lu(447) = lu(447) - lu(55) * lu(430)
         lu(450) = lu(450) - lu(56) * lu(430)
         lu(451) = lu(451) - lu(57) * lu(430)
         lu(454) = lu(454) - lu(58) * lu(430)
         lu(456) = lu(456) - lu(59) * lu(430)
         lu(522) = lu(522) - lu(54) * lu(515)
         lu(528) = lu(528) - lu(55) * lu(515)
         lu(531) = lu(531) - lu(56) * lu(515)
         lu(532) = lu(532) - lu(57) * lu(515)
         lu(535) = lu(535) - lu(58) * lu(515)
         lu(537) = lu(537) - lu(59) * lu(515)
         lu(60) = 1._r8 / lu(60)
         lu(61) = lu(61) * lu(60)
         lu(62) = lu(62) * lu(60)
         lu(63) = lu(63) * lu(60)
         lu(64) = lu(64) * lu(60)
         lu(65) = lu(65) * lu(60)
         lu(66) = lu(66) * lu(60)
         lu(158) = - lu(61) * lu(157)
         lu(159) = lu(159) - lu(62) * lu(157)
         lu(160) = lu(160) - lu(63) * lu(157)
         lu(162) = lu(162) - lu(64) * lu(157)
         lu(164) = lu(164) - lu(65) * lu(157)
         lu(167) = lu(167) - lu(66) * lu(157)
         lu(324) = lu(324) - lu(61) * lu(323)
         lu(333) = - lu(62) * lu(323)
         lu(334) = lu(334) - lu(63) * lu(323)
         lu(336) = lu(336) - lu(64) * lu(323)
         lu(347) = lu(347) - lu(65) * lu(323)
         lu(357) = lu(357) - lu(66) * lu(323)
         lu(564) = lu(564) - lu(61) * lu(563)
         lu(568) = lu(568) - lu(62) * lu(563)
         lu(569) = lu(569) - lu(63) * lu(563)
         lu(571) = lu(571) - lu(64) * lu(563)
         lu(578) = lu(578) - lu(65) * lu(563)
         lu(588) = lu(588) - lu(66) * lu(563)
         lu(67) = 1._r8 / lu(67)
         lu(68) = lu(68) * lu(67)
         lu(69) = lu(69) * lu(67)
         lu(70) = lu(70) * lu(67)
         lu(71) = lu(71) * lu(67)
         lu(72) = lu(72) * lu(67)
         lu(96) = lu(96) - lu(68) * lu(93)
         lu(97) = lu(97) - lu(69) * lu(93)
         lu(99) = lu(99) - lu(70) * lu(93)
         lu(101) = lu(101) - lu(71) * lu(93)
         lu(103) = lu(103) - lu(72) * lu(93)
         lu(159) = lu(159) - lu(68) * lu(158)
         lu(160) = lu(160) - lu(69) * lu(158)
         lu(162) = lu(162) - lu(70) * lu(158)
         lu(164) = lu(164) - lu(71) * lu(158)
         lu(167) = lu(167) - lu(72) * lu(158)
         lu(333) = lu(333) - lu(68) * lu(324)
         lu(334) = lu(334) - lu(69) * lu(324)
         lu(336) = lu(336) - lu(70) * lu(324)
         lu(347) = lu(347) - lu(71) * lu(324)
         lu(357) = lu(357) - lu(72) * lu(324)
         lu(568) = lu(568) - lu(68) * lu(564)
         lu(569) = lu(569) - lu(69) * lu(564)
         lu(571) = lu(571) - lu(70) * lu(564)
         lu(578) = lu(578) - lu(71) * lu(564)
         lu(588) = lu(588) - lu(72) * lu(564)
         lu(73) = 1._r8 / lu(73)
         lu(74) = lu(74) * lu(73)
         lu(75) = lu(75) * lu(73)
         lu(76) = lu(76) * lu(73)
         lu(77) = lu(77) * lu(73)
         lu(99) = lu(99) - lu(74) * lu(94)
         lu(100) = - lu(75) * lu(94)
         lu(102) = - lu(76) * lu(94)
         lu(103) = lu(103) - lu(77) * lu(94)
         lu(142) = lu(142) - lu(74) * lu(139)
         lu(143) = - lu(75) * lu(139)
         lu(145) = - lu(76) * lu(139)
         lu(146) = - lu(77) * lu(139)
         lu(152) = lu(152) - lu(74) * lu(147)
         lu(153) = - lu(75) * lu(147)
         lu(155) = lu(155) - lu(76) * lu(147)
         lu(156) = - lu(77) * lu(147)
         lu(336) = lu(336) - lu(74) * lu(325)
         lu(346) = lu(346) - lu(75) * lu(325)
         lu(353) = - lu(76) * lu(325)
         lu(357) = lu(357) - lu(77) * lu(325)
         lu(571) = lu(571) - lu(74) * lu(565)
         lu(577) = lu(577) - lu(75) * lu(565)
         lu(584) = lu(584) - lu(76) * lu(565)
         lu(588) = lu(588) - lu(77) * lu(565)
         lu(78) = 1._r8 / lu(78)
         lu(79) = lu(79) * lu(78)
         lu(80) = lu(80) * lu(78)
         lu(81) = lu(81) * lu(78)
         lu(82) = lu(82) * lu(78)
         lu(83) = lu(83) * lu(78)
         lu(84) = lu(84) * lu(78)
         lu(85) = lu(85) * lu(78)
         lu(331) = - lu(79) * lu(326)
         lu(332) = lu(332) - lu(80) * lu(326)
         lu(341) = lu(341) - lu(81) * lu(326)
         lu(343) = lu(343) - lu(82) * lu(326)
         lu(347) = lu(347) - lu(83) * lu(326)
         lu(348) = lu(348) - lu(84) * lu(326)
         lu(349) = lu(349) - lu(85) * lu(326)
         lu(361) = lu(361) - lu(79) * lu(360)
         lu(362) = - lu(80) * lu(360)
         lu(366) = lu(366) - lu(81) * lu(360)
         lu(368) = - lu(82) * lu(360)
         lu(372) = lu(372) - lu(83) * lu(360)
         lu(373) = lu(373) - lu(84) * lu(360)
         lu(374) = lu(374) - lu(85) * lu(360)
         lu(386) = - lu(79) * lu(385)
         lu(387) = lu(387) - lu(80) * lu(385)
         lu(389) = - lu(81) * lu(385)
         lu(391) = lu(391) - lu(82) * lu(385)
         lu(395) = lu(395) - lu(83) * lu(385)
         lu(396) = lu(396) - lu(84) * lu(385)
         lu(397) = lu(397) - lu(85) * lu(385)
      end subroutine lu_fac02
      subroutine lu_fac03( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(86) = 1._r8 / lu(86)
         lu(87) = lu(87) * lu(86)
         lu(88) = lu(88) * lu(86)
         lu(89) = lu(89) * lu(86)
         lu(90) = lu(90) * lu(86)
         lu(91) = lu(91) * lu(86)
         lu(92) = lu(92) * lu(86)
         lu(344) = lu(344) - lu(87) * lu(327)
         lu(347) = lu(347) - lu(88) * lu(327)
         lu(351) = lu(351) - lu(89) * lu(327)
         lu(352) = - lu(90) * lu(327)
         lu(355) = lu(355) - lu(91) * lu(327)
         lu(356) = lu(356) - lu(92) * lu(327)
         lu(443) = lu(443) - lu(87) * lu(431)
         lu(446) = lu(446) - lu(88) * lu(431)
         lu(450) = lu(450) - lu(89) * lu(431)
         lu(451) = lu(451) - lu(90) * lu(431)
         lu(454) = lu(454) - lu(91) * lu(431)
         lu(455) = lu(455) - lu(92) * lu(431)
         lu(524) = lu(524) - lu(87) * lu(516)
         lu(527) = lu(527) - lu(88) * lu(516)
         lu(531) = lu(531) - lu(89) * lu(516)
         lu(532) = lu(532) - lu(90) * lu(516)
         lu(535) = lu(535) - lu(91) * lu(516)
         lu(536) = lu(536) - lu(92) * lu(516)
         lu(545) = lu(545) - lu(87) * lu(539)
         lu(548) = - lu(88) * lu(539)
         lu(552) = lu(552) - lu(89) * lu(539)
         lu(553) = - lu(90) * lu(539)
         lu(556) = lu(556) - lu(91) * lu(539)
         lu(557) = lu(557) - lu(92) * lu(539)
         lu(95) = 1._r8 / lu(95)
         lu(96) = lu(96) * lu(95)
         lu(97) = lu(97) * lu(95)
         lu(98) = lu(98) * lu(95)
         lu(99) = lu(99) * lu(95)
         lu(100) = lu(100) * lu(95)
         lu(101) = lu(101) * lu(95)
         lu(102) = lu(102) * lu(95)
         lu(103) = lu(103) * lu(95)
         lu(149) = lu(149) - lu(96) * lu(148)
         lu(150) = lu(150) - lu(97) * lu(148)
         lu(151) = lu(151) - lu(98) * lu(148)
         lu(152) = lu(152) - lu(99) * lu(148)
         lu(153) = lu(153) - lu(100) * lu(148)
         lu(154) = lu(154) - lu(101) * lu(148)
         lu(155) = lu(155) - lu(102) * lu(148)
         lu(156) = lu(156) - lu(103) * lu(148)
         lu(333) = lu(333) - lu(96) * lu(328)
         lu(334) = lu(334) - lu(97) * lu(328)
         lu(335) = lu(335) - lu(98) * lu(328)
         lu(336) = lu(336) - lu(99) * lu(328)
         lu(346) = lu(346) - lu(100) * lu(328)
         lu(347) = lu(347) - lu(101) * lu(328)
         lu(353) = lu(353) - lu(102) * lu(328)
         lu(357) = lu(357) - lu(103) * lu(328)
         lu(568) = lu(568) - lu(96) * lu(566)
         lu(569) = lu(569) - lu(97) * lu(566)
         lu(570) = lu(570) - lu(98) * lu(566)
         lu(571) = lu(571) - lu(99) * lu(566)
         lu(577) = lu(577) - lu(100) * lu(566)
         lu(578) = lu(578) - lu(101) * lu(566)
         lu(584) = lu(584) - lu(102) * lu(566)
         lu(588) = lu(588) - lu(103) * lu(566)
         lu(104) = 1._r8 / lu(104)
         lu(105) = lu(105) * lu(104)
         lu(106) = lu(106) * lu(104)
         lu(107) = lu(107) * lu(104)
         lu(108) = lu(108) * lu(104)
         lu(109) = lu(109) * lu(104)
         lu(242) = lu(242) - lu(105) * lu(241)
         lu(243) = - lu(106) * lu(241)
         lu(246) = - lu(107) * lu(241)
         lu(247) = - lu(108) * lu(241)
         lu(248) = - lu(109) * lu(241)
         lu(343) = lu(343) - lu(105) * lu(329)
         lu(347) = lu(347) - lu(106) * lu(329)
         lu(351) = lu(351) - lu(107) * lu(329)
         lu(352) = lu(352) - lu(108) * lu(329)
         lu(353) = lu(353) - lu(109) * lu(329)
         lu(442) = lu(442) - lu(105) * lu(432)
         lu(446) = lu(446) - lu(106) * lu(432)
         lu(450) = lu(450) - lu(107) * lu(432)
         lu(451) = lu(451) - lu(108) * lu(432)
         lu(452) = - lu(109) * lu(432)
         lu(480) = lu(480) - lu(105) * lu(477)
         lu(484) = lu(484) - lu(106) * lu(477)
         lu(488) = lu(488) - lu(107) * lu(477)
         lu(489) = lu(489) - lu(108) * lu(477)
         lu(490) = lu(490) - lu(109) * lu(477)
         lu(499) = lu(499) - lu(105) * lu(495)
         lu(503) = lu(503) - lu(106) * lu(495)
         lu(507) = lu(507) - lu(107) * lu(495)
         lu(508) = lu(508) - lu(108) * lu(495)
         lu(509) = - lu(109) * lu(495)
         lu(523) = lu(523) - lu(105) * lu(517)
         lu(527) = lu(527) - lu(106) * lu(517)
         lu(531) = lu(531) - lu(107) * lu(517)
         lu(532) = lu(532) - lu(108) * lu(517)
         lu(533) = - lu(109) * lu(517)
         lu(110) = 1._r8 / lu(110)
         lu(111) = lu(111) * lu(110)
         lu(112) = lu(112) * lu(110)
         lu(113) = lu(113) * lu(110)
         lu(114) = lu(114) * lu(110)
         lu(115) = lu(115) * lu(110)
         lu(116) = lu(116) * lu(110)
         lu(227) = lu(227) - lu(111) * lu(225)
         lu(228) = lu(228) - lu(112) * lu(225)
         lu(232) = lu(232) - lu(113) * lu(225)
         lu(235) = lu(235) - lu(114) * lu(225)
         lu(236) = lu(236) - lu(115) * lu(225)
         lu(240) = lu(240) - lu(116) * lu(225)
         lu(340) = lu(340) - lu(111) * lu(330)
         lu(342) = lu(342) - lu(112) * lu(330)
         lu(347) = lu(347) - lu(113) * lu(330)
         lu(350) = lu(350) - lu(114) * lu(330)
         lu(351) = lu(351) - lu(115) * lu(330)
         lu(357) = lu(357) - lu(116) * lu(330)
         lu(410) = lu(410) - lu(111) * lu(408)
         lu(412) = lu(412) - lu(112) * lu(408)
         lu(416) = lu(416) - lu(113) * lu(408)
         lu(419) = lu(419) - lu(114) * lu(408)
         lu(420) = lu(420) - lu(115) * lu(408)
         lu(426) = lu(426) - lu(116) * lu(408)
         lu(439) = lu(439) - lu(111) * lu(433)
         lu(441) = lu(441) - lu(112) * lu(433)
         lu(446) = lu(446) - lu(113) * lu(433)
         lu(449) = lu(449) - lu(114) * lu(433)
         lu(450) = lu(450) - lu(115) * lu(433)
         lu(456) = lu(456) - lu(116) * lu(433)
         lu(573) = lu(573) - lu(111) * lu(567)
         lu(574) = lu(574) - lu(112) * lu(567)
         lu(578) = lu(578) - lu(113) * lu(567)
         lu(581) = lu(581) - lu(114) * lu(567)
         lu(582) = - lu(115) * lu(567)
         lu(588) = lu(588) - lu(116) * lu(567)
         lu(117) = 1._r8 / lu(117)
         lu(118) = lu(118) * lu(117)
         lu(119) = lu(119) * lu(117)
         lu(120) = lu(120) * lu(117)
         lu(121) = lu(121) * lu(117)
         lu(190) = lu(190) - lu(118) * lu(187)
         lu(194) = lu(194) - lu(119) * lu(187)
         lu(195) = lu(195) - lu(120) * lu(187)
         lu(196) = - lu(121) * lu(187)
         lu(215) = lu(215) - lu(118) * lu(214)
         lu(218) = lu(218) - lu(119) * lu(214)
         lu(219) = lu(219) - lu(120) * lu(214)
         lu(220) = - lu(121) * lu(214)
         lu(259) = - lu(118) * lu(254)
         lu(265) = - lu(119) * lu(254)
         lu(268) = lu(268) - lu(120) * lu(254)
         lu(269) = lu(269) - lu(121) * lu(254)
         lu(341) = lu(341) - lu(118) * lu(331)
         lu(348) = lu(348) - lu(119) * lu(331)
         lu(351) = lu(351) - lu(120) * lu(331)
         lu(352) = lu(352) - lu(121) * lu(331)
         lu(366) = lu(366) - lu(118) * lu(361)
         lu(373) = lu(373) - lu(119) * lu(361)
         lu(376) = lu(376) - lu(120) * lu(361)
         lu(377) = lu(377) - lu(121) * lu(361)
         lu(389) = lu(389) - lu(118) * lu(386)
         lu(396) = lu(396) - lu(119) * lu(386)
         lu(399) = lu(399) - lu(120) * lu(386)
         lu(400) = - lu(121) * lu(386)
         lu(440) = lu(440) - lu(118) * lu(434)
         lu(447) = lu(447) - lu(119) * lu(434)
         lu(450) = lu(450) - lu(120) * lu(434)
         lu(451) = lu(451) - lu(121) * lu(434)
         lu(498) = lu(498) - lu(118) * lu(496)
         lu(504) = - lu(119) * lu(496)
         lu(507) = lu(507) - lu(120) * lu(496)
         lu(508) = lu(508) - lu(121) * lu(496)
      end subroutine lu_fac03
      subroutine lu_fac04( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(123) = 1._r8 / lu(123)
         lu(124) = lu(124) * lu(123)
         lu(125) = lu(125) * lu(123)
         lu(126) = lu(126) * lu(123)
         lu(127) = lu(127) * lu(123)
         lu(128) = lu(128) * lu(123)
         lu(129) = lu(129) * lu(123)
         lu(130) = lu(130) * lu(123)
         lu(260) = lu(260) - lu(124) * lu(255)
         lu(261) = lu(261) - lu(125) * lu(255)
         lu(264) = lu(264) - lu(126) * lu(255)
         lu(266) = - lu(127) * lu(255)
         lu(268) = lu(268) - lu(128) * lu(255)
         lu(269) = lu(269) - lu(129) * lu(255)
         lu(273) = lu(273) - lu(130) * lu(255)
         lu(343) = lu(343) - lu(124) * lu(332)
         lu(344) = lu(344) - lu(125) * lu(332)
         lu(347) = lu(347) - lu(126) * lu(332)
         lu(349) = lu(349) - lu(127) * lu(332)
         lu(351) = lu(351) - lu(128) * lu(332)
         lu(352) = lu(352) - lu(129) * lu(332)
         lu(356) = lu(356) - lu(130) * lu(332)
         lu(368) = lu(368) - lu(124) * lu(362)
         lu(369) = - lu(125) * lu(362)
         lu(372) = lu(372) - lu(126) * lu(362)
         lu(374) = lu(374) - lu(127) * lu(362)
         lu(376) = lu(376) - lu(128) * lu(362)
         lu(377) = lu(377) - lu(129) * lu(362)
         lu(381) = - lu(130) * lu(362)
         lu(391) = lu(391) - lu(124) * lu(387)
         lu(392) = - lu(125) * lu(387)
         lu(395) = lu(395) - lu(126) * lu(387)
         lu(397) = lu(397) - lu(127) * lu(387)
         lu(399) = lu(399) - lu(128) * lu(387)
         lu(400) = lu(400) - lu(129) * lu(387)
         lu(404) = lu(404) - lu(130) * lu(387)
         lu(523) = lu(523) - lu(124) * lu(518)
         lu(524) = lu(524) - lu(125) * lu(518)
         lu(527) = lu(527) - lu(126) * lu(518)
         lu(529) = lu(529) - lu(127) * lu(518)
         lu(531) = lu(531) - lu(128) * lu(518)
         lu(532) = lu(532) - lu(129) * lu(518)
         lu(536) = lu(536) - lu(130) * lu(518)
         lu(131) = 1._r8 / lu(131)
         lu(132) = lu(132) * lu(131)
         lu(133) = lu(133) * lu(131)
         lu(134) = lu(134) * lu(131)
         lu(135) = lu(135) * lu(131)
         lu(136) = lu(136) * lu(131)
         lu(137) = lu(137) * lu(131)
         lu(138) = lu(138) * lu(131)
         lu(150) = lu(150) - lu(132) * lu(149)
         lu(151) = lu(151) - lu(133) * lu(149)
         lu(152) = lu(152) - lu(134) * lu(149)
         lu(153) = lu(153) - lu(135) * lu(149)
         lu(154) = lu(154) - lu(136) * lu(149)
         lu(155) = lu(155) - lu(137) * lu(149)
         lu(156) = lu(156) - lu(138) * lu(149)
         lu(160) = lu(160) - lu(132) * lu(159)
         lu(161) = lu(161) - lu(133) * lu(159)
         lu(162) = lu(162) - lu(134) * lu(159)
         lu(163) = lu(163) - lu(135) * lu(159)
         lu(164) = lu(164) - lu(136) * lu(159)
         lu(166) = - lu(137) * lu(159)
         lu(167) = lu(167) - lu(138) * lu(159)
         lu(300) = lu(300) - lu(132) * lu(299)
         lu(301) = lu(301) - lu(133) * lu(299)
         lu(302) = lu(302) - lu(134) * lu(299)
         lu(308) = lu(308) - lu(135) * lu(299)
         lu(309) = lu(309) - lu(136) * lu(299)
         lu(315) = - lu(137) * lu(299)
         lu(319) = lu(319) - lu(138) * lu(299)
         lu(334) = lu(334) - lu(132) * lu(333)
         lu(335) = lu(335) - lu(133) * lu(333)
         lu(336) = lu(336) - lu(134) * lu(333)
         lu(346) = lu(346) - lu(135) * lu(333)
         lu(347) = lu(347) - lu(136) * lu(333)
         lu(353) = lu(353) - lu(137) * lu(333)
         lu(357) = lu(357) - lu(138) * lu(333)
         lu(569) = lu(569) - lu(132) * lu(568)
         lu(570) = lu(570) - lu(133) * lu(568)
         lu(571) = lu(571) - lu(134) * lu(568)
         lu(577) = lu(577) - lu(135) * lu(568)
         lu(578) = lu(578) - lu(136) * lu(568)
         lu(584) = lu(584) - lu(137) * lu(568)
         lu(588) = lu(588) - lu(138) * lu(568)
         lu(140) = 1._r8 / lu(140)
         lu(141) = lu(141) * lu(140)
         lu(142) = lu(142) * lu(140)
         lu(143) = lu(143) * lu(140)
         lu(144) = lu(144) * lu(140)
         lu(145) = lu(145) * lu(140)
         lu(146) = lu(146) * lu(140)
         lu(151) = lu(151) - lu(141) * lu(150)
         lu(152) = lu(152) - lu(142) * lu(150)
         lu(153) = lu(153) - lu(143) * lu(150)
         lu(154) = lu(154) - lu(144) * lu(150)
         lu(155) = lu(155) - lu(145) * lu(150)
         lu(156) = lu(156) - lu(146) * lu(150)
         lu(161) = lu(161) - lu(141) * lu(160)
         lu(162) = lu(162) - lu(142) * lu(160)
         lu(163) = lu(163) - lu(143) * lu(160)
         lu(164) = lu(164) - lu(144) * lu(160)
         lu(166) = lu(166) - lu(145) * lu(160)
         lu(167) = lu(167) - lu(146) * lu(160)
         lu(301) = lu(301) - lu(141) * lu(300)
         lu(302) = lu(302) - lu(142) * lu(300)
         lu(308) = lu(308) - lu(143) * lu(300)
         lu(309) = lu(309) - lu(144) * lu(300)
         lu(315) = lu(315) - lu(145) * lu(300)
         lu(319) = lu(319) - lu(146) * lu(300)
         lu(335) = lu(335) - lu(141) * lu(334)
         lu(336) = lu(336) - lu(142) * lu(334)
         lu(346) = lu(346) - lu(143) * lu(334)
         lu(347) = lu(347) - lu(144) * lu(334)
         lu(353) = lu(353) - lu(145) * lu(334)
         lu(357) = lu(357) - lu(146) * lu(334)
         lu(570) = lu(570) - lu(141) * lu(569)
         lu(571) = lu(571) - lu(142) * lu(569)
         lu(577) = lu(577) - lu(143) * lu(569)
         lu(578) = lu(578) - lu(144) * lu(569)
         lu(584) = lu(584) - lu(145) * lu(569)
         lu(588) = lu(588) - lu(146) * lu(569)
         lu(151) = 1._r8 / lu(151)
         lu(152) = lu(152) * lu(151)
         lu(153) = lu(153) * lu(151)
         lu(154) = lu(154) * lu(151)
         lu(155) = lu(155) * lu(151)
         lu(156) = lu(156) * lu(151)
         lu(162) = lu(162) - lu(152) * lu(161)
         lu(163) = lu(163) - lu(153) * lu(161)
         lu(164) = lu(164) - lu(154) * lu(161)
         lu(166) = lu(166) - lu(155) * lu(161)
         lu(167) = lu(167) - lu(156) * lu(161)
         lu(302) = lu(302) - lu(152) * lu(301)
         lu(308) = lu(308) - lu(153) * lu(301)
         lu(309) = lu(309) - lu(154) * lu(301)
         lu(315) = lu(315) - lu(155) * lu(301)
         lu(319) = lu(319) - lu(156) * lu(301)
         lu(336) = lu(336) - lu(152) * lu(335)
         lu(346) = lu(346) - lu(153) * lu(335)
         lu(347) = lu(347) - lu(154) * lu(335)
         lu(353) = lu(353) - lu(155) * lu(335)
         lu(357) = lu(357) - lu(156) * lu(335)
         lu(571) = lu(571) - lu(152) * lu(570)
         lu(577) = lu(577) - lu(153) * lu(570)
         lu(578) = lu(578) - lu(154) * lu(570)
         lu(584) = lu(584) - lu(155) * lu(570)
         lu(588) = lu(588) - lu(156) * lu(570)
         lu(162) = 1._r8 / lu(162)
         lu(163) = lu(163) * lu(162)
         lu(164) = lu(164) * lu(162)
         lu(165) = lu(165) * lu(162)
         lu(166) = lu(166) * lu(162)
         lu(167) = lu(167) * lu(162)
         lu(308) = lu(308) - lu(163) * lu(302)
         lu(309) = lu(309) - lu(164) * lu(302)
         lu(310) = lu(310) - lu(165) * lu(302)
         lu(315) = lu(315) - lu(166) * lu(302)
         lu(319) = lu(319) - lu(167) * lu(302)
         lu(346) = lu(346) - lu(163) * lu(336)
         lu(347) = lu(347) - lu(164) * lu(336)
         lu(348) = lu(348) - lu(165) * lu(336)
         lu(353) = lu(353) - lu(166) * lu(336)
         lu(357) = lu(357) - lu(167) * lu(336)
         lu(371) = lu(371) - lu(163) * lu(363)
         lu(372) = lu(372) - lu(164) * lu(363)
         lu(373) = lu(373) - lu(165) * lu(363)
         lu(378) = - lu(166) * lu(363)
         lu(382) = lu(382) - lu(167) * lu(363)
         lu(577) = lu(577) - lu(163) * lu(571)
         lu(578) = lu(578) - lu(164) * lu(571)
         lu(579) = - lu(165) * lu(571)
         lu(584) = lu(584) - lu(166) * lu(571)
         lu(588) = lu(588) - lu(167) * lu(571)
         lu(169) = 1._r8 / lu(169)
         lu(170) = lu(170) * lu(169)
         lu(171) = lu(171) * lu(169)
         lu(172) = lu(172) * lu(169)
         lu(173) = lu(173) * lu(169)
         lu(174) = lu(174) * lu(169)
         lu(175) = lu(175) * lu(169)
         lu(176) = lu(176) * lu(169)
         lu(177) = lu(177) * lu(169)
         lu(304) = - lu(170) * lu(303)
         lu(308) = lu(308) - lu(171) * lu(303)
         lu(310) = lu(310) - lu(172) * lu(303)
         lu(313) = lu(313) - lu(173) * lu(303)
         lu(314) = - lu(174) * lu(303)
         lu(316) = lu(316) - lu(175) * lu(303)
         lu(317) = lu(317) - lu(176) * lu(303)
         lu(319) = lu(319) - lu(177) * lu(303)
         lu(439) = lu(439) - lu(170) * lu(435)
         lu(445) = - lu(171) * lu(435)
         lu(447) = lu(447) - lu(172) * lu(435)
         lu(450) = lu(450) - lu(173) * lu(435)
         lu(451) = lu(451) - lu(174) * lu(435)
         lu(453) = lu(453) - lu(175) * lu(435)
         lu(454) = lu(454) - lu(176) * lu(435)
         lu(456) = lu(456) - lu(177) * lu(435)
         lu(479) = lu(479) - lu(170) * lu(478)
         lu(483) = lu(483) - lu(171) * lu(478)
         lu(485) = - lu(172) * lu(478)
         lu(488) = lu(488) - lu(173) * lu(478)
         lu(489) = lu(489) - lu(174) * lu(478)
         lu(491) = lu(491) - lu(175) * lu(478)
         lu(492) = lu(492) - lu(176) * lu(478)
         lu(494) = lu(494) - lu(177) * lu(478)
         lu(521) = lu(521) - lu(170) * lu(519)
         lu(526) = lu(526) - lu(171) * lu(519)
         lu(528) = lu(528) - lu(172) * lu(519)
         lu(531) = lu(531) - lu(173) * lu(519)
         lu(532) = lu(532) - lu(174) * lu(519)
         lu(534) = lu(534) - lu(175) * lu(519)
         lu(535) = lu(535) - lu(176) * lu(519)
         lu(537) = lu(537) - lu(177) * lu(519)
         lu(543) = lu(543) - lu(170) * lu(540)
         lu(547) = - lu(171) * lu(540)
         lu(549) = - lu(172) * lu(540)
         lu(552) = lu(552) - lu(173) * lu(540)
         lu(553) = lu(553) - lu(174) * lu(540)
         lu(555) = lu(555) - lu(175) * lu(540)
         lu(556) = lu(556) - lu(176) * lu(540)
         lu(558) = lu(558) - lu(177) * lu(540)
      end subroutine lu_fac04
      subroutine lu_fac05( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(179) = 1._r8 / lu(179)
         lu(180) = lu(180) * lu(179)
         lu(181) = lu(181) * lu(179)
         lu(182) = lu(182) * lu(179)
         lu(183) = lu(183) * lu(179)
         lu(184) = lu(184) * lu(179)
         lu(185) = lu(185) * lu(179)
         lu(191) = lu(191) - lu(180) * lu(188)
         lu(192) = lu(192) - lu(181) * lu(188)
         lu(193) = lu(193) - lu(182) * lu(188)
         lu(195) = lu(195) - lu(183) * lu(188)
         lu(196) = lu(196) - lu(184) * lu(188)
         lu(197) = lu(197) - lu(185) * lu(188)
         lu(261) = lu(261) - lu(180) * lu(256)
         lu(262) = - lu(181) * lu(256)
         lu(264) = lu(264) - lu(182) * lu(256)
         lu(268) = lu(268) - lu(183) * lu(256)
         lu(269) = lu(269) - lu(184) * lu(256)
         lu(273) = lu(273) - lu(185) * lu(256)
         lu(285) = lu(285) - lu(180) * lu(279)
         lu(286) = lu(286) - lu(181) * lu(279)
         lu(288) = lu(288) - lu(182) * lu(279)
         lu(292) = lu(292) - lu(183) * lu(279)
         lu(293) = - lu(184) * lu(279)
         lu(297) = lu(297) - lu(185) * lu(279)
         lu(344) = lu(344) - lu(180) * lu(337)
         lu(345) = lu(345) - lu(181) * lu(337)
         lu(347) = lu(347) - lu(182) * lu(337)
         lu(351) = lu(351) - lu(183) * lu(337)
         lu(352) = lu(352) - lu(184) * lu(337)
         lu(356) = lu(356) - lu(185) * lu(337)
         lu(443) = lu(443) - lu(180) * lu(436)
         lu(444) = lu(444) - lu(181) * lu(436)
         lu(446) = lu(446) - lu(182) * lu(436)
         lu(450) = lu(450) - lu(183) * lu(436)
         lu(451) = lu(451) - lu(184) * lu(436)
         lu(455) = lu(455) - lu(185) * lu(436)
         lu(524) = lu(524) - lu(180) * lu(520)
         lu(525) = lu(525) - lu(181) * lu(520)
         lu(527) = lu(527) - lu(182) * lu(520)
         lu(531) = lu(531) - lu(183) * lu(520)
         lu(532) = lu(532) - lu(184) * lu(520)
         lu(536) = lu(536) - lu(185) * lu(520)
         lu(545) = lu(545) - lu(180) * lu(541)
         lu(546) = lu(546) - lu(181) * lu(541)
         lu(548) = lu(548) - lu(182) * lu(541)
         lu(552) = lu(552) - lu(183) * lu(541)
         lu(553) = lu(553) - lu(184) * lu(541)
         lu(557) = lu(557) - lu(185) * lu(541)
         lu(189) = 1._r8 / lu(189)
         lu(190) = lu(190) * lu(189)
         lu(191) = lu(191) * lu(189)
         lu(192) = lu(192) * lu(189)
         lu(193) = lu(193) * lu(189)
         lu(194) = lu(194) * lu(189)
         lu(195) = lu(195) * lu(189)
         lu(196) = lu(196) * lu(189)
         lu(197) = lu(197) * lu(189)
         lu(259) = lu(259) - lu(190) * lu(257)
         lu(261) = lu(261) - lu(191) * lu(257)
         lu(262) = lu(262) - lu(192) * lu(257)
         lu(264) = lu(264) - lu(193) * lu(257)
         lu(265) = lu(265) - lu(194) * lu(257)
         lu(268) = lu(268) - lu(195) * lu(257)
         lu(269) = lu(269) - lu(196) * lu(257)
         lu(273) = lu(273) - lu(197) * lu(257)
         lu(282) = - lu(190) * lu(280)
         lu(285) = lu(285) - lu(191) * lu(280)
         lu(286) = lu(286) - lu(192) * lu(280)
         lu(288) = lu(288) - lu(193) * lu(280)
         lu(289) = lu(289) - lu(194) * lu(280)
         lu(292) = lu(292) - lu(195) * lu(280)
         lu(293) = lu(293) - lu(196) * lu(280)
         lu(297) = lu(297) - lu(197) * lu(280)
         lu(341) = lu(341) - lu(190) * lu(338)
         lu(344) = lu(344) - lu(191) * lu(338)
         lu(345) = lu(345) - lu(192) * lu(338)
         lu(347) = lu(347) - lu(193) * lu(338)
         lu(348) = lu(348) - lu(194) * lu(338)
         lu(351) = lu(351) - lu(195) * lu(338)
         lu(352) = lu(352) - lu(196) * lu(338)
         lu(356) = lu(356) - lu(197) * lu(338)
         lu(366) = lu(366) - lu(190) * lu(364)
         lu(369) = lu(369) - lu(191) * lu(364)
         lu(370) = lu(370) - lu(192) * lu(364)
         lu(372) = lu(372) - lu(193) * lu(364)
         lu(373) = lu(373) - lu(194) * lu(364)
         lu(376) = lu(376) - lu(195) * lu(364)
         lu(377) = lu(377) - lu(196) * lu(364)
         lu(381) = lu(381) - lu(197) * lu(364)
         lu(440) = lu(440) - lu(190) * lu(437)
         lu(443) = lu(443) - lu(191) * lu(437)
         lu(444) = lu(444) - lu(192) * lu(437)
         lu(446) = lu(446) - lu(193) * lu(437)
         lu(447) = lu(447) - lu(194) * lu(437)
         lu(450) = lu(450) - lu(195) * lu(437)
         lu(451) = lu(451) - lu(196) * lu(437)
         lu(455) = lu(455) - lu(197) * lu(437)
         lu(544) = lu(544) - lu(190) * lu(542)
         lu(545) = lu(545) - lu(191) * lu(542)
         lu(546) = lu(546) - lu(192) * lu(542)
         lu(548) = lu(548) - lu(193) * lu(542)
         lu(549) = lu(549) - lu(194) * lu(542)
         lu(552) = lu(552) - lu(195) * lu(542)
         lu(553) = lu(553) - lu(196) * lu(542)
         lu(557) = lu(557) - lu(197) * lu(542)
         lu(199) = 1._r8 / lu(199)
         lu(200) = lu(200) * lu(199)
         lu(201) = lu(201) * lu(199)
         lu(202) = lu(202) * lu(199)
         lu(203) = lu(203) * lu(199)
         lu(204) = lu(204) * lu(199)
         lu(205) = lu(205) * lu(199)
         lu(228) = lu(228) - lu(200) * lu(226)
         lu(232) = lu(232) - lu(201) * lu(226)
         lu(236) = lu(236) - lu(202) * lu(226)
         lu(237) = - lu(203) * lu(226)
         lu(238) = - lu(204) * lu(226)
         lu(240) = lu(240) - lu(205) * lu(226)
         lu(283) = lu(283) - lu(200) * lu(281)
         lu(288) = lu(288) - lu(201) * lu(281)
         lu(292) = lu(292) - lu(202) * lu(281)
         lu(293) = lu(293) - lu(203) * lu(281)
         lu(296) = lu(296) - lu(204) * lu(281)
         lu(298) = lu(298) - lu(205) * lu(281)
         lu(342) = lu(342) - lu(200) * lu(339)
         lu(347) = lu(347) - lu(201) * lu(339)
         lu(351) = lu(351) - lu(202) * lu(339)
         lu(352) = lu(352) - lu(203) * lu(339)
         lu(355) = lu(355) - lu(204) * lu(339)
         lu(357) = lu(357) - lu(205) * lu(339)
         lu(367) = lu(367) - lu(200) * lu(365)
         lu(372) = lu(372) - lu(201) * lu(365)
         lu(376) = lu(376) - lu(202) * lu(365)
         lu(377) = lu(377) - lu(203) * lu(365)
         lu(380) = lu(380) - lu(204) * lu(365)
         lu(382) = lu(382) - lu(205) * lu(365)
         lu(390) = lu(390) - lu(200) * lu(388)
         lu(395) = lu(395) - lu(201) * lu(388)
         lu(399) = lu(399) - lu(202) * lu(388)
         lu(400) = lu(400) - lu(203) * lu(388)
         lu(403) = lu(403) - lu(204) * lu(388)
         lu(405) = lu(405) - lu(205) * lu(388)
         lu(412) = lu(412) - lu(200) * lu(409)
         lu(416) = lu(416) - lu(201) * lu(409)
         lu(420) = lu(420) - lu(202) * lu(409)
         lu(421) = - lu(203) * lu(409)
         lu(424) = lu(424) - lu(204) * lu(409)
         lu(426) = lu(426) - lu(205) * lu(409)
         lu(441) = lu(441) - lu(200) * lu(438)
         lu(446) = lu(446) - lu(201) * lu(438)
         lu(450) = lu(450) - lu(202) * lu(438)
         lu(451) = lu(451) - lu(203) * lu(438)
         lu(454) = lu(454) - lu(204) * lu(438)
         lu(456) = lu(456) - lu(205) * lu(438)
         lu(461) = - lu(200) * lu(459)
         lu(465) = lu(465) - lu(201) * lu(459)
         lu(469) = lu(469) - lu(202) * lu(459)
         lu(470) = lu(470) - lu(203) * lu(459)
         lu(473) = - lu(204) * lu(459)
         lu(475) = - lu(205) * lu(459)
         lu(574) = lu(574) - lu(200) * lu(572)
         lu(578) = lu(578) - lu(201) * lu(572)
         lu(582) = lu(582) - lu(202) * lu(572)
         lu(583) = lu(583) - lu(203) * lu(572)
         lu(586) = lu(586) - lu(204) * lu(572)
         lu(588) = lu(588) - lu(205) * lu(572)
         lu(206) = 1._r8 / lu(206)
         lu(207) = lu(207) * lu(206)
         lu(208) = lu(208) * lu(206)
         lu(209) = lu(209) * lu(206)
         lu(210) = lu(210) * lu(206)
         lu(211) = lu(211) * lu(206)
         lu(212) = lu(212) * lu(206)
         lu(232) = lu(232) - lu(207) * lu(227)
         lu(235) = lu(235) - lu(208) * lu(227)
         lu(236) = lu(236) - lu(209) * lu(227)
         lu(237) = lu(237) - lu(210) * lu(227)
         lu(238) = lu(238) - lu(211) * lu(227)
         lu(240) = lu(240) - lu(212) * lu(227)
         lu(264) = lu(264) - lu(207) * lu(258)
         lu(267) = - lu(208) * lu(258)
         lu(268) = lu(268) - lu(209) * lu(258)
         lu(269) = lu(269) - lu(210) * lu(258)
         lu(272) = - lu(211) * lu(258)
         lu(274) = - lu(212) * lu(258)
         lu(309) = lu(309) - lu(207) * lu(304)
         lu(312) = lu(312) - lu(208) * lu(304)
         lu(313) = lu(313) - lu(209) * lu(304)
         lu(314) = lu(314) - lu(210) * lu(304)
         lu(317) = lu(317) - lu(211) * lu(304)
         lu(319) = lu(319) - lu(212) * lu(304)
         lu(347) = lu(347) - lu(207) * lu(340)
         lu(350) = lu(350) - lu(208) * lu(340)
         lu(351) = lu(351) - lu(209) * lu(340)
         lu(352) = lu(352) - lu(210) * lu(340)
         lu(355) = lu(355) - lu(211) * lu(340)
         lu(357) = lu(357) - lu(212) * lu(340)
         lu(416) = lu(416) - lu(207) * lu(410)
         lu(419) = lu(419) - lu(208) * lu(410)
         lu(420) = lu(420) - lu(209) * lu(410)
         lu(421) = lu(421) - lu(210) * lu(410)
         lu(424) = lu(424) - lu(211) * lu(410)
         lu(426) = lu(426) - lu(212) * lu(410)
         lu(446) = lu(446) - lu(207) * lu(439)
         lu(449) = lu(449) - lu(208) * lu(439)
         lu(450) = lu(450) - lu(209) * lu(439)
         lu(451) = lu(451) - lu(210) * lu(439)
         lu(454) = lu(454) - lu(211) * lu(439)
         lu(456) = lu(456) - lu(212) * lu(439)
         lu(465) = lu(465) - lu(207) * lu(460)
         lu(468) = - lu(208) * lu(460)
         lu(469) = lu(469) - lu(209) * lu(460)
         lu(470) = lu(470) - lu(210) * lu(460)
         lu(473) = lu(473) - lu(211) * lu(460)
         lu(475) = lu(475) - lu(212) * lu(460)
         lu(484) = lu(484) - lu(207) * lu(479)
         lu(487) = lu(487) - lu(208) * lu(479)
         lu(488) = lu(488) - lu(209) * lu(479)
         lu(489) = lu(489) - lu(210) * lu(479)
         lu(492) = lu(492) - lu(211) * lu(479)
         lu(494) = lu(494) - lu(212) * lu(479)
         lu(503) = lu(503) - lu(207) * lu(497)
         lu(506) = - lu(208) * lu(497)
         lu(507) = lu(507) - lu(209) * lu(497)
         lu(508) = lu(508) - lu(210) * lu(497)
         lu(511) = lu(511) - lu(211) * lu(497)
         lu(513) = - lu(212) * lu(497)
         lu(527) = lu(527) - lu(207) * lu(521)
         lu(530) = lu(530) - lu(208) * lu(521)
         lu(531) = lu(531) - lu(209) * lu(521)
         lu(532) = lu(532) - lu(210) * lu(521)
         lu(535) = lu(535) - lu(211) * lu(521)
         lu(537) = lu(537) - lu(212) * lu(521)
         lu(548) = lu(548) - lu(207) * lu(543)
         lu(551) = lu(551) - lu(208) * lu(543)
         lu(552) = lu(552) - lu(209) * lu(543)
         lu(553) = lu(553) - lu(210) * lu(543)
         lu(556) = lu(556) - lu(211) * lu(543)
         lu(558) = lu(558) - lu(212) * lu(543)
         lu(578) = lu(578) - lu(207) * lu(573)
         lu(581) = lu(581) - lu(208) * lu(573)
         lu(582) = lu(582) - lu(209) * lu(573)
         lu(583) = lu(583) - lu(210) * lu(573)
         lu(586) = lu(586) - lu(211) * lu(573)
         lu(588) = lu(588) - lu(212) * lu(573)
         lu(215) = 1._r8 / lu(215)
         lu(216) = lu(216) * lu(215)
         lu(217) = lu(217) * lu(215)
         lu(218) = lu(218) * lu(215)
         lu(219) = lu(219) * lu(215)
         lu(220) = lu(220) * lu(215)
         lu(221) = lu(221) * lu(215)
         lu(222) = lu(222) * lu(215)
         lu(223) = lu(223) * lu(215)
         lu(263) = - lu(216) * lu(259)
         lu(264) = lu(264) - lu(217) * lu(259)
         lu(265) = lu(265) - lu(218) * lu(259)
         lu(268) = lu(268) - lu(219) * lu(259)
         lu(269) = lu(269) - lu(220) * lu(259)
         lu(271) = - lu(221) * lu(259)
         lu(272) = lu(272) - lu(222) * lu(259)
         lu(274) = lu(274) - lu(223) * lu(259)
         lu(287) = lu(287) - lu(216) * lu(282)
         lu(288) = lu(288) - lu(217) * lu(282)
         lu(289) = lu(289) - lu(218) * lu(282)
         lu(292) = lu(292) - lu(219) * lu(282)
         lu(293) = lu(293) - lu(220) * lu(282)
         lu(295) = - lu(221) * lu(282)
         lu(296) = lu(296) - lu(222) * lu(282)
         lu(298) = lu(298) - lu(223) * lu(282)
         lu(308) = lu(308) - lu(216) * lu(305)
         lu(309) = lu(309) - lu(217) * lu(305)
         lu(310) = lu(310) - lu(218) * lu(305)
         lu(313) = lu(313) - lu(219) * lu(305)
         lu(314) = lu(314) - lu(220) * lu(305)
         lu(316) = lu(316) - lu(221) * lu(305)
         lu(317) = lu(317) - lu(222) * lu(305)
         lu(319) = lu(319) - lu(223) * lu(305)
         lu(346) = lu(346) - lu(216) * lu(341)
         lu(347) = lu(347) - lu(217) * lu(341)
         lu(348) = lu(348) - lu(218) * lu(341)
         lu(351) = lu(351) - lu(219) * lu(341)
         lu(352) = lu(352) - lu(220) * lu(341)
         lu(354) = lu(354) - lu(221) * lu(341)
         lu(355) = lu(355) - lu(222) * lu(341)
         lu(357) = lu(357) - lu(223) * lu(341)
         lu(371) = lu(371) - lu(216) * lu(366)
         lu(372) = lu(372) - lu(217) * lu(366)
         lu(373) = lu(373) - lu(218) * lu(366)
         lu(376) = lu(376) - lu(219) * lu(366)
         lu(377) = lu(377) - lu(220) * lu(366)
         lu(379) = - lu(221) * lu(366)
         lu(380) = lu(380) - lu(222) * lu(366)
         lu(382) = lu(382) - lu(223) * lu(366)
         lu(394) = lu(394) - lu(216) * lu(389)
         lu(395) = lu(395) - lu(217) * lu(389)
         lu(396) = lu(396) - lu(218) * lu(389)
         lu(399) = lu(399) - lu(219) * lu(389)
         lu(400) = lu(400) - lu(220) * lu(389)
         lu(402) = - lu(221) * lu(389)
         lu(403) = lu(403) - lu(222) * lu(389)
         lu(405) = lu(405) - lu(223) * lu(389)
         lu(415) = lu(415) - lu(216) * lu(411)
         lu(416) = lu(416) - lu(217) * lu(411)
         lu(417) = lu(417) - lu(218) * lu(411)
         lu(420) = lu(420) - lu(219) * lu(411)
         lu(421) = lu(421) - lu(220) * lu(411)
         lu(423) = - lu(221) * lu(411)
         lu(424) = lu(424) - lu(222) * lu(411)
         lu(426) = lu(426) - lu(223) * lu(411)
         lu(445) = lu(445) - lu(216) * lu(440)
         lu(446) = lu(446) - lu(217) * lu(440)
         lu(447) = lu(447) - lu(218) * lu(440)
         lu(450) = lu(450) - lu(219) * lu(440)
         lu(451) = lu(451) - lu(220) * lu(440)
         lu(453) = lu(453) - lu(221) * lu(440)
         lu(454) = lu(454) - lu(222) * lu(440)
         lu(456) = lu(456) - lu(223) * lu(440)
         lu(502) = - lu(216) * lu(498)
         lu(503) = lu(503) - lu(217) * lu(498)
         lu(504) = lu(504) - lu(218) * lu(498)
         lu(507) = lu(507) - lu(219) * lu(498)
         lu(508) = lu(508) - lu(220) * lu(498)
         lu(510) = lu(510) - lu(221) * lu(498)
         lu(511) = lu(511) - lu(222) * lu(498)
         lu(513) = lu(513) - lu(223) * lu(498)
         lu(526) = lu(526) - lu(216) * lu(522)
         lu(527) = lu(527) - lu(217) * lu(522)
         lu(528) = lu(528) - lu(218) * lu(522)
         lu(531) = lu(531) - lu(219) * lu(522)
         lu(532) = lu(532) - lu(220) * lu(522)
         lu(534) = lu(534) - lu(221) * lu(522)
         lu(535) = lu(535) - lu(222) * lu(522)
         lu(537) = lu(537) - lu(223) * lu(522)
         lu(547) = lu(547) - lu(216) * lu(544)
         lu(548) = lu(548) - lu(217) * lu(544)
         lu(549) = lu(549) - lu(218) * lu(544)
         lu(552) = lu(552) - lu(219) * lu(544)
         lu(553) = lu(553) - lu(220) * lu(544)
         lu(555) = lu(555) - lu(221) * lu(544)
         lu(556) = lu(556) - lu(222) * lu(544)
         lu(558) = lu(558) - lu(223) * lu(544)
      end subroutine lu_fac05
      subroutine lu_fac06( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(228) = 1._r8 / lu(228)
         lu(229) = lu(229) * lu(228)
         lu(230) = lu(230) * lu(228)
         lu(231) = lu(231) * lu(228)
         lu(232) = lu(232) * lu(228)
         lu(233) = lu(233) * lu(228)
         lu(234) = lu(234) * lu(228)
         lu(235) = lu(235) * lu(228)
         lu(236) = lu(236) * lu(228)
         lu(237) = lu(237) * lu(228)
         lu(238) = lu(238) * lu(228)
         lu(239) = lu(239) * lu(228)
         lu(240) = lu(240) * lu(228)
         lu(284) = lu(284) - lu(229) * lu(283)
         lu(286) = lu(286) - lu(230) * lu(283)
         lu(287) = lu(287) - lu(231) * lu(283)
         lu(288) = lu(288) - lu(232) * lu(283)
         lu(289) = lu(289) - lu(233) * lu(283)
         lu(290) = lu(290) - lu(234) * lu(283)
         lu(291) = - lu(235) * lu(283)
         lu(292) = lu(292) - lu(236) * lu(283)
         lu(293) = lu(293) - lu(237) * lu(283)
         lu(296) = lu(296) - lu(238) * lu(283)
         lu(297) = lu(297) - lu(239) * lu(283)
         lu(298) = lu(298) - lu(240) * lu(283)
         lu(343) = lu(343) - lu(229) * lu(342)
         lu(345) = lu(345) - lu(230) * lu(342)
         lu(346) = lu(346) - lu(231) * lu(342)
         lu(347) = lu(347) - lu(232) * lu(342)
         lu(348) = lu(348) - lu(233) * lu(342)
         lu(349) = lu(349) - lu(234) * lu(342)
         lu(350) = lu(350) - lu(235) * lu(342)
         lu(351) = lu(351) - lu(236) * lu(342)
         lu(352) = lu(352) - lu(237) * lu(342)
         lu(355) = lu(355) - lu(238) * lu(342)
         lu(356) = lu(356) - lu(239) * lu(342)
         lu(357) = lu(357) - lu(240) * lu(342)
         lu(368) = lu(368) - lu(229) * lu(367)
         lu(370) = lu(370) - lu(230) * lu(367)
         lu(371) = lu(371) - lu(231) * lu(367)
         lu(372) = lu(372) - lu(232) * lu(367)
         lu(373) = lu(373) - lu(233) * lu(367)
         lu(374) = lu(374) - lu(234) * lu(367)
         lu(375) = lu(375) - lu(235) * lu(367)
         lu(376) = lu(376) - lu(236) * lu(367)
         lu(377) = lu(377) - lu(237) * lu(367)
         lu(380) = lu(380) - lu(238) * lu(367)
         lu(381) = lu(381) - lu(239) * lu(367)
         lu(382) = lu(382) - lu(240) * lu(367)
         lu(391) = lu(391) - lu(229) * lu(390)
         lu(393) = lu(393) - lu(230) * lu(390)
         lu(394) = lu(394) - lu(231) * lu(390)
         lu(395) = lu(395) - lu(232) * lu(390)
         lu(396) = lu(396) - lu(233) * lu(390)
         lu(397) = lu(397) - lu(234) * lu(390)
         lu(398) = - lu(235) * lu(390)
         lu(399) = lu(399) - lu(236) * lu(390)
         lu(400) = lu(400) - lu(237) * lu(390)
         lu(403) = lu(403) - lu(238) * lu(390)
         lu(404) = lu(404) - lu(239) * lu(390)
         lu(405) = lu(405) - lu(240) * lu(390)
         lu(413) = lu(413) - lu(229) * lu(412)
         lu(414) = lu(414) - lu(230) * lu(412)
         lu(415) = lu(415) - lu(231) * lu(412)
         lu(416) = lu(416) - lu(232) * lu(412)
         lu(417) = lu(417) - lu(233) * lu(412)
         lu(418) = lu(418) - lu(234) * lu(412)
         lu(419) = lu(419) - lu(235) * lu(412)
         lu(420) = lu(420) - lu(236) * lu(412)
         lu(421) = lu(421) - lu(237) * lu(412)
         lu(424) = lu(424) - lu(238) * lu(412)
         lu(425) = lu(425) - lu(239) * lu(412)
         lu(426) = lu(426) - lu(240) * lu(412)
         lu(442) = lu(442) - lu(229) * lu(441)
         lu(444) = lu(444) - lu(230) * lu(441)
         lu(445) = lu(445) - lu(231) * lu(441)
         lu(446) = lu(446) - lu(232) * lu(441)
         lu(447) = lu(447) - lu(233) * lu(441)
         lu(448) = lu(448) - lu(234) * lu(441)
         lu(449) = lu(449) - lu(235) * lu(441)
         lu(450) = lu(450) - lu(236) * lu(441)
         lu(451) = lu(451) - lu(237) * lu(441)
         lu(454) = lu(454) - lu(238) * lu(441)
         lu(455) = lu(455) - lu(239) * lu(441)
         lu(456) = lu(456) - lu(240) * lu(441)
         lu(462) = - lu(229) * lu(461)
         lu(463) = - lu(230) * lu(461)
         lu(464) = - lu(231) * lu(461)
         lu(465) = lu(465) - lu(232) * lu(461)
         lu(466) = - lu(233) * lu(461)
         lu(467) = - lu(234) * lu(461)
         lu(468) = lu(468) - lu(235) * lu(461)
         lu(469) = lu(469) - lu(236) * lu(461)
         lu(470) = lu(470) - lu(237) * lu(461)
         lu(473) = lu(473) - lu(238) * lu(461)
         lu(474) = - lu(239) * lu(461)
         lu(475) = lu(475) - lu(240) * lu(461)
         lu(575) = - lu(229) * lu(574)
         lu(576) = - lu(230) * lu(574)
         lu(577) = lu(577) - lu(231) * lu(574)
         lu(578) = lu(578) - lu(232) * lu(574)
         lu(579) = lu(579) - lu(233) * lu(574)
         lu(580) = - lu(234) * lu(574)
         lu(581) = lu(581) - lu(235) * lu(574)
         lu(582) = lu(582) - lu(236) * lu(574)
         lu(583) = lu(583) - lu(237) * lu(574)
         lu(586) = lu(586) - lu(238) * lu(574)
         lu(587) = - lu(239) * lu(574)
         lu(588) = lu(588) - lu(240) * lu(574)
         lu(242) = 1._r8 / lu(242)
         lu(243) = lu(243) * lu(242)
         lu(244) = lu(244) * lu(242)
         lu(245) = lu(245) * lu(242)
         lu(246) = lu(246) * lu(242)
         lu(247) = lu(247) * lu(242)
         lu(248) = lu(248) * lu(242)
         lu(249) = lu(249) * lu(242)
         lu(250) = lu(250) * lu(242)
         lu(251) = lu(251) * lu(242)
         lu(264) = lu(264) - lu(243) * lu(260)
         lu(266) = lu(266) - lu(244) * lu(260)
         lu(267) = lu(267) - lu(245) * lu(260)
         lu(268) = lu(268) - lu(246) * lu(260)
         lu(269) = lu(269) - lu(247) * lu(260)
         lu(270) = lu(270) - lu(248) * lu(260)
         lu(271) = lu(271) - lu(249) * lu(260)
         lu(272) = lu(272) - lu(250) * lu(260)
         lu(274) = lu(274) - lu(251) * lu(260)
         lu(288) = lu(288) - lu(243) * lu(284)
         lu(290) = lu(290) - lu(244) * lu(284)
         lu(291) = lu(291) - lu(245) * lu(284)
         lu(292) = lu(292) - lu(246) * lu(284)
         lu(293) = lu(293) - lu(247) * lu(284)
         lu(294) = - lu(248) * lu(284)
         lu(295) = lu(295) - lu(249) * lu(284)
         lu(296) = lu(296) - lu(250) * lu(284)
         lu(298) = lu(298) - lu(251) * lu(284)
         lu(309) = lu(309) - lu(243) * lu(306)
         lu(311) = lu(311) - lu(244) * lu(306)
         lu(312) = lu(312) - lu(245) * lu(306)
         lu(313) = lu(313) - lu(246) * lu(306)
         lu(314) = lu(314) - lu(247) * lu(306)
         lu(315) = lu(315) - lu(248) * lu(306)
         lu(316) = lu(316) - lu(249) * lu(306)
         lu(317) = lu(317) - lu(250) * lu(306)
         lu(319) = lu(319) - lu(251) * lu(306)
         lu(347) = lu(347) - lu(243) * lu(343)
         lu(349) = lu(349) - lu(244) * lu(343)
         lu(350) = lu(350) - lu(245) * lu(343)
         lu(351) = lu(351) - lu(246) * lu(343)
         lu(352) = lu(352) - lu(247) * lu(343)
         lu(353) = lu(353) - lu(248) * lu(343)
         lu(354) = lu(354) - lu(249) * lu(343)
         lu(355) = lu(355) - lu(250) * lu(343)
         lu(357) = lu(357) - lu(251) * lu(343)
         lu(372) = lu(372) - lu(243) * lu(368)
         lu(374) = lu(374) - lu(244) * lu(368)
         lu(375) = lu(375) - lu(245) * lu(368)
         lu(376) = lu(376) - lu(246) * lu(368)
         lu(377) = lu(377) - lu(247) * lu(368)
         lu(378) = lu(378) - lu(248) * lu(368)
         lu(379) = lu(379) - lu(249) * lu(368)
         lu(380) = lu(380) - lu(250) * lu(368)
         lu(382) = lu(382) - lu(251) * lu(368)
         lu(395) = lu(395) - lu(243) * lu(391)
         lu(397) = lu(397) - lu(244) * lu(391)
         lu(398) = lu(398) - lu(245) * lu(391)
         lu(399) = lu(399) - lu(246) * lu(391)
         lu(400) = lu(400) - lu(247) * lu(391)
         lu(401) = - lu(248) * lu(391)
         lu(402) = lu(402) - lu(249) * lu(391)
         lu(403) = lu(403) - lu(250) * lu(391)
         lu(405) = lu(405) - lu(251) * lu(391)
         lu(416) = lu(416) - lu(243) * lu(413)
         lu(418) = lu(418) - lu(244) * lu(413)
         lu(419) = lu(419) - lu(245) * lu(413)
         lu(420) = lu(420) - lu(246) * lu(413)
         lu(421) = lu(421) - lu(247) * lu(413)
         lu(422) = lu(422) - lu(248) * lu(413)
         lu(423) = lu(423) - lu(249) * lu(413)
         lu(424) = lu(424) - lu(250) * lu(413)
         lu(426) = lu(426) - lu(251) * lu(413)
         lu(446) = lu(446) - lu(243) * lu(442)
         lu(448) = lu(448) - lu(244) * lu(442)
         lu(449) = lu(449) - lu(245) * lu(442)
         lu(450) = lu(450) - lu(246) * lu(442)
         lu(451) = lu(451) - lu(247) * lu(442)
         lu(452) = lu(452) - lu(248) * lu(442)
         lu(453) = lu(453) - lu(249) * lu(442)
         lu(454) = lu(454) - lu(250) * lu(442)
         lu(456) = lu(456) - lu(251) * lu(442)
         lu(465) = lu(465) - lu(243) * lu(462)
         lu(467) = lu(467) - lu(244) * lu(462)
         lu(468) = lu(468) - lu(245) * lu(462)
         lu(469) = lu(469) - lu(246) * lu(462)
         lu(470) = lu(470) - lu(247) * lu(462)
         lu(471) = lu(471) - lu(248) * lu(462)
         lu(472) = - lu(249) * lu(462)
         lu(473) = lu(473) - lu(250) * lu(462)
         lu(475) = lu(475) - lu(251) * lu(462)
         lu(484) = lu(484) - lu(243) * lu(480)
         lu(486) = - lu(244) * lu(480)
         lu(487) = lu(487) - lu(245) * lu(480)
         lu(488) = lu(488) - lu(246) * lu(480)
         lu(489) = lu(489) - lu(247) * lu(480)
         lu(490) = lu(490) - lu(248) * lu(480)
         lu(491) = lu(491) - lu(249) * lu(480)
         lu(492) = lu(492) - lu(250) * lu(480)
         lu(494) = lu(494) - lu(251) * lu(480)
         lu(503) = lu(503) - lu(243) * lu(499)
         lu(505) = - lu(244) * lu(499)
         lu(506) = lu(506) - lu(245) * lu(499)
         lu(507) = lu(507) - lu(246) * lu(499)
         lu(508) = lu(508) - lu(247) * lu(499)
         lu(509) = lu(509) - lu(248) * lu(499)
         lu(510) = lu(510) - lu(249) * lu(499)
         lu(511) = lu(511) - lu(250) * lu(499)
         lu(513) = lu(513) - lu(251) * lu(499)
         lu(527) = lu(527) - lu(243) * lu(523)
         lu(529) = lu(529) - lu(244) * lu(523)
         lu(530) = lu(530) - lu(245) * lu(523)
         lu(531) = lu(531) - lu(246) * lu(523)
         lu(532) = lu(532) - lu(247) * lu(523)
         lu(533) = lu(533) - lu(248) * lu(523)
         lu(534) = lu(534) - lu(249) * lu(523)
         lu(535) = lu(535) - lu(250) * lu(523)
         lu(537) = lu(537) - lu(251) * lu(523)
         lu(578) = lu(578) - lu(243) * lu(575)
         lu(580) = lu(580) - lu(244) * lu(575)
         lu(581) = lu(581) - lu(245) * lu(575)
         lu(582) = lu(582) - lu(246) * lu(575)
         lu(583) = lu(583) - lu(247) * lu(575)
         lu(584) = lu(584) - lu(248) * lu(575)
         lu(585) = - lu(249) * lu(575)
         lu(586) = lu(586) - lu(250) * lu(575)
         lu(588) = lu(588) - lu(251) * lu(575)
         lu(261) = 1._r8 / lu(261)
         lu(262) = lu(262) * lu(261)
         lu(263) = lu(263) * lu(261)
         lu(264) = lu(264) * lu(261)
         lu(265) = lu(265) * lu(261)
         lu(266) = lu(266) * lu(261)
         lu(267) = lu(267) * lu(261)
         lu(268) = lu(268) * lu(261)
         lu(269) = lu(269) * lu(261)
         lu(270) = lu(270) * lu(261)
         lu(271) = lu(271) * lu(261)
         lu(272) = lu(272) * lu(261)
         lu(273) = lu(273) * lu(261)
         lu(274) = lu(274) * lu(261)
         lu(286) = lu(286) - lu(262) * lu(285)
         lu(287) = lu(287) - lu(263) * lu(285)
         lu(288) = lu(288) - lu(264) * lu(285)
         lu(289) = lu(289) - lu(265) * lu(285)
         lu(290) = lu(290) - lu(266) * lu(285)
         lu(291) = lu(291) - lu(267) * lu(285)
         lu(292) = lu(292) - lu(268) * lu(285)
         lu(293) = lu(293) - lu(269) * lu(285)
         lu(294) = lu(294) - lu(270) * lu(285)
         lu(295) = lu(295) - lu(271) * lu(285)
         lu(296) = lu(296) - lu(272) * lu(285)
         lu(297) = lu(297) - lu(273) * lu(285)
         lu(298) = lu(298) - lu(274) * lu(285)
         lu(345) = lu(345) - lu(262) * lu(344)
         lu(346) = lu(346) - lu(263) * lu(344)
         lu(347) = lu(347) - lu(264) * lu(344)
         lu(348) = lu(348) - lu(265) * lu(344)
         lu(349) = lu(349) - lu(266) * lu(344)
         lu(350) = lu(350) - lu(267) * lu(344)
         lu(351) = lu(351) - lu(268) * lu(344)
         lu(352) = lu(352) - lu(269) * lu(344)
         lu(353) = lu(353) - lu(270) * lu(344)
         lu(354) = lu(354) - lu(271) * lu(344)
         lu(355) = lu(355) - lu(272) * lu(344)
         lu(356) = lu(356) - lu(273) * lu(344)
         lu(357) = lu(357) - lu(274) * lu(344)
         lu(370) = lu(370) - lu(262) * lu(369)
         lu(371) = lu(371) - lu(263) * lu(369)
         lu(372) = lu(372) - lu(264) * lu(369)
         lu(373) = lu(373) - lu(265) * lu(369)
         lu(374) = lu(374) - lu(266) * lu(369)
         lu(375) = lu(375) - lu(267) * lu(369)
         lu(376) = lu(376) - lu(268) * lu(369)
         lu(377) = lu(377) - lu(269) * lu(369)
         lu(378) = lu(378) - lu(270) * lu(369)
         lu(379) = lu(379) - lu(271) * lu(369)
         lu(380) = lu(380) - lu(272) * lu(369)
         lu(381) = lu(381) - lu(273) * lu(369)
         lu(382) = lu(382) - lu(274) * lu(369)
         lu(393) = lu(393) - lu(262) * lu(392)
         lu(394) = lu(394) - lu(263) * lu(392)
         lu(395) = lu(395) - lu(264) * lu(392)
         lu(396) = lu(396) - lu(265) * lu(392)
         lu(397) = lu(397) - lu(266) * lu(392)
         lu(398) = lu(398) - lu(267) * lu(392)
         lu(399) = lu(399) - lu(268) * lu(392)
         lu(400) = lu(400) - lu(269) * lu(392)
         lu(401) = lu(401) - lu(270) * lu(392)
         lu(402) = lu(402) - lu(271) * lu(392)
         lu(403) = lu(403) - lu(272) * lu(392)
         lu(404) = lu(404) - lu(273) * lu(392)
         lu(405) = lu(405) - lu(274) * lu(392)
         lu(444) = lu(444) - lu(262) * lu(443)
         lu(445) = lu(445) - lu(263) * lu(443)
         lu(446) = lu(446) - lu(264) * lu(443)
         lu(447) = lu(447) - lu(265) * lu(443)
         lu(448) = lu(448) - lu(266) * lu(443)
         lu(449) = lu(449) - lu(267) * lu(443)
         lu(450) = lu(450) - lu(268) * lu(443)
         lu(451) = lu(451) - lu(269) * lu(443)
         lu(452) = lu(452) - lu(270) * lu(443)
         lu(453) = lu(453) - lu(271) * lu(443)
         lu(454) = lu(454) - lu(272) * lu(443)
         lu(455) = lu(455) - lu(273) * lu(443)
         lu(456) = lu(456) - lu(274) * lu(443)
         lu(482) = - lu(262) * lu(481)
         lu(483) = lu(483) - lu(263) * lu(481)
         lu(484) = lu(484) - lu(264) * lu(481)
         lu(485) = lu(485) - lu(265) * lu(481)
         lu(486) = lu(486) - lu(266) * lu(481)
         lu(487) = lu(487) - lu(267) * lu(481)
         lu(488) = lu(488) - lu(268) * lu(481)
         lu(489) = lu(489) - lu(269) * lu(481)
         lu(490) = lu(490) - lu(270) * lu(481)
         lu(491) = lu(491) - lu(271) * lu(481)
         lu(492) = lu(492) - lu(272) * lu(481)
         lu(493) = lu(493) - lu(273) * lu(481)
         lu(494) = lu(494) - lu(274) * lu(481)
         lu(501) = - lu(262) * lu(500)
         lu(502) = lu(502) - lu(263) * lu(500)
         lu(503) = lu(503) - lu(264) * lu(500)
         lu(504) = lu(504) - lu(265) * lu(500)
         lu(505) = lu(505) - lu(266) * lu(500)
         lu(506) = lu(506) - lu(267) * lu(500)
         lu(507) = lu(507) - lu(268) * lu(500)
         lu(508) = lu(508) - lu(269) * lu(500)
         lu(509) = lu(509) - lu(270) * lu(500)
         lu(510) = lu(510) - lu(271) * lu(500)
         lu(511) = lu(511) - lu(272) * lu(500)
         lu(512) = lu(512) - lu(273) * lu(500)
         lu(513) = lu(513) - lu(274) * lu(500)
         lu(525) = lu(525) - lu(262) * lu(524)
         lu(526) = lu(526) - lu(263) * lu(524)
         lu(527) = lu(527) - lu(264) * lu(524)
         lu(528) = lu(528) - lu(265) * lu(524)
         lu(529) = lu(529) - lu(266) * lu(524)
         lu(530) = lu(530) - lu(267) * lu(524)
         lu(531) = lu(531) - lu(268) * lu(524)
         lu(532) = lu(532) - lu(269) * lu(524)
         lu(533) = lu(533) - lu(270) * lu(524)
         lu(534) = lu(534) - lu(271) * lu(524)
         lu(535) = lu(535) - lu(272) * lu(524)
         lu(536) = lu(536) - lu(273) * lu(524)
         lu(537) = lu(537) - lu(274) * lu(524)
         lu(546) = lu(546) - lu(262) * lu(545)
         lu(547) = lu(547) - lu(263) * lu(545)
         lu(548) = lu(548) - lu(264) * lu(545)
         lu(549) = lu(549) - lu(265) * lu(545)
         lu(550) = - lu(266) * lu(545)
         lu(551) = lu(551) - lu(267) * lu(545)
         lu(552) = lu(552) - lu(268) * lu(545)
         lu(553) = lu(553) - lu(269) * lu(545)
         lu(554) = - lu(270) * lu(545)
         lu(555) = lu(555) - lu(271) * lu(545)
         lu(556) = lu(556) - lu(272) * lu(545)
         lu(557) = lu(557) - lu(273) * lu(545)
         lu(558) = lu(558) - lu(274) * lu(545)
      end subroutine lu_fac06
      subroutine lu_fac07( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(286) = 1._r8 / lu(286)
         lu(287) = lu(287) * lu(286)
         lu(288) = lu(288) * lu(286)
         lu(289) = lu(289) * lu(286)
         lu(290) = lu(290) * lu(286)
         lu(291) = lu(291) * lu(286)
         lu(292) = lu(292) * lu(286)
         lu(293) = lu(293) * lu(286)
         lu(294) = lu(294) * lu(286)
         lu(295) = lu(295) * lu(286)
         lu(296) = lu(296) * lu(286)
         lu(297) = lu(297) * lu(286)
         lu(298) = lu(298) * lu(286)
         lu(308) = lu(308) - lu(287) * lu(307)
         lu(309) = lu(309) - lu(288) * lu(307)
         lu(310) = lu(310) - lu(289) * lu(307)
         lu(311) = lu(311) - lu(290) * lu(307)
         lu(312) = lu(312) - lu(291) * lu(307)
         lu(313) = lu(313) - lu(292) * lu(307)
         lu(314) = lu(314) - lu(293) * lu(307)
         lu(315) = lu(315) - lu(294) * lu(307)
         lu(316) = lu(316) - lu(295) * lu(307)
         lu(317) = lu(317) - lu(296) * lu(307)
         lu(318) = lu(318) - lu(297) * lu(307)
         lu(319) = lu(319) - lu(298) * lu(307)
         lu(346) = lu(346) - lu(287) * lu(345)
         lu(347) = lu(347) - lu(288) * lu(345)
         lu(348) = lu(348) - lu(289) * lu(345)
         lu(349) = lu(349) - lu(290) * lu(345)
         lu(350) = lu(350) - lu(291) * lu(345)
         lu(351) = lu(351) - lu(292) * lu(345)
         lu(352) = lu(352) - lu(293) * lu(345)
         lu(353) = lu(353) - lu(294) * lu(345)
         lu(354) = lu(354) - lu(295) * lu(345)
         lu(355) = lu(355) - lu(296) * lu(345)
         lu(356) = lu(356) - lu(297) * lu(345)
         lu(357) = lu(357) - lu(298) * lu(345)
         lu(371) = lu(371) - lu(287) * lu(370)
         lu(372) = lu(372) - lu(288) * lu(370)
         lu(373) = lu(373) - lu(289) * lu(370)
         lu(374) = lu(374) - lu(290) * lu(370)
         lu(375) = lu(375) - lu(291) * lu(370)
         lu(376) = lu(376) - lu(292) * lu(370)
         lu(377) = lu(377) - lu(293) * lu(370)
         lu(378) = lu(378) - lu(294) * lu(370)
         lu(379) = lu(379) - lu(295) * lu(370)
         lu(380) = lu(380) - lu(296) * lu(370)
         lu(381) = lu(381) - lu(297) * lu(370)
         lu(382) = lu(382) - lu(298) * lu(370)
         lu(394) = lu(394) - lu(287) * lu(393)
         lu(395) = lu(395) - lu(288) * lu(393)
         lu(396) = lu(396) - lu(289) * lu(393)
         lu(397) = lu(397) - lu(290) * lu(393)
         lu(398) = lu(398) - lu(291) * lu(393)
         lu(399) = lu(399) - lu(292) * lu(393)
         lu(400) = lu(400) - lu(293) * lu(393)
         lu(401) = lu(401) - lu(294) * lu(393)
         lu(402) = lu(402) - lu(295) * lu(393)
         lu(403) = lu(403) - lu(296) * lu(393)
         lu(404) = lu(404) - lu(297) * lu(393)
         lu(405) = lu(405) - lu(298) * lu(393)
         lu(415) = lu(415) - lu(287) * lu(414)
         lu(416) = lu(416) - lu(288) * lu(414)
         lu(417) = lu(417) - lu(289) * lu(414)
         lu(418) = lu(418) - lu(290) * lu(414)
         lu(419) = lu(419) - lu(291) * lu(414)
         lu(420) = lu(420) - lu(292) * lu(414)
         lu(421) = lu(421) - lu(293) * lu(414)
         lu(422) = lu(422) - lu(294) * lu(414)
         lu(423) = lu(423) - lu(295) * lu(414)
         lu(424) = lu(424) - lu(296) * lu(414)
         lu(425) = lu(425) - lu(297) * lu(414)
         lu(426) = lu(426) - lu(298) * lu(414)
         lu(445) = lu(445) - lu(287) * lu(444)
         lu(446) = lu(446) - lu(288) * lu(444)
         lu(447) = lu(447) - lu(289) * lu(444)
         lu(448) = lu(448) - lu(290) * lu(444)
         lu(449) = lu(449) - lu(291) * lu(444)
         lu(450) = lu(450) - lu(292) * lu(444)
         lu(451) = lu(451) - lu(293) * lu(444)
         lu(452) = lu(452) - lu(294) * lu(444)
         lu(453) = lu(453) - lu(295) * lu(444)
         lu(454) = lu(454) - lu(296) * lu(444)
         lu(455) = lu(455) - lu(297) * lu(444)
         lu(456) = lu(456) - lu(298) * lu(444)
         lu(464) = lu(464) - lu(287) * lu(463)
         lu(465) = lu(465) - lu(288) * lu(463)
         lu(466) = lu(466) - lu(289) * lu(463)
         lu(467) = lu(467) - lu(290) * lu(463)
         lu(468) = lu(468) - lu(291) * lu(463)
         lu(469) = lu(469) - lu(292) * lu(463)
         lu(470) = lu(470) - lu(293) * lu(463)
         lu(471) = lu(471) - lu(294) * lu(463)
         lu(472) = lu(472) - lu(295) * lu(463)
         lu(473) = lu(473) - lu(296) * lu(463)
         lu(474) = lu(474) - lu(297) * lu(463)
         lu(475) = lu(475) - lu(298) * lu(463)
         lu(483) = lu(483) - lu(287) * lu(482)
         lu(484) = lu(484) - lu(288) * lu(482)
         lu(485) = lu(485) - lu(289) * lu(482)
         lu(486) = lu(486) - lu(290) * lu(482)
         lu(487) = lu(487) - lu(291) * lu(482)
         lu(488) = lu(488) - lu(292) * lu(482)
         lu(489) = lu(489) - lu(293) * lu(482)
         lu(490) = lu(490) - lu(294) * lu(482)
         lu(491) = lu(491) - lu(295) * lu(482)
         lu(492) = lu(492) - lu(296) * lu(482)
         lu(493) = lu(493) - lu(297) * lu(482)
         lu(494) = lu(494) - lu(298) * lu(482)
         lu(502) = lu(502) - lu(287) * lu(501)
         lu(503) = lu(503) - lu(288) * lu(501)
         lu(504) = lu(504) - lu(289) * lu(501)
         lu(505) = lu(505) - lu(290) * lu(501)
         lu(506) = lu(506) - lu(291) * lu(501)
         lu(507) = lu(507) - lu(292) * lu(501)
         lu(508) = lu(508) - lu(293) * lu(501)
         lu(509) = lu(509) - lu(294) * lu(501)
         lu(510) = lu(510) - lu(295) * lu(501)
         lu(511) = lu(511) - lu(296) * lu(501)
         lu(512) = lu(512) - lu(297) * lu(501)
         lu(513) = lu(513) - lu(298) * lu(501)
         lu(526) = lu(526) - lu(287) * lu(525)
         lu(527) = lu(527) - lu(288) * lu(525)
         lu(528) = lu(528) - lu(289) * lu(525)
         lu(529) = lu(529) - lu(290) * lu(525)
         lu(530) = lu(530) - lu(291) * lu(525)
         lu(531) = lu(531) - lu(292) * lu(525)
         lu(532) = lu(532) - lu(293) * lu(525)
         lu(533) = lu(533) - lu(294) * lu(525)
         lu(534) = lu(534) - lu(295) * lu(525)
         lu(535) = lu(535) - lu(296) * lu(525)
         lu(536) = lu(536) - lu(297) * lu(525)
         lu(537) = lu(537) - lu(298) * lu(525)
         lu(547) = lu(547) - lu(287) * lu(546)
         lu(548) = lu(548) - lu(288) * lu(546)
         lu(549) = lu(549) - lu(289) * lu(546)
         lu(550) = lu(550) - lu(290) * lu(546)
         lu(551) = lu(551) - lu(291) * lu(546)
         lu(552) = lu(552) - lu(292) * lu(546)
         lu(553) = lu(553) - lu(293) * lu(546)
         lu(554) = lu(554) - lu(294) * lu(546)
         lu(555) = lu(555) - lu(295) * lu(546)
         lu(556) = lu(556) - lu(296) * lu(546)
         lu(557) = lu(557) - lu(297) * lu(546)
         lu(558) = lu(558) - lu(298) * lu(546)
         lu(577) = lu(577) - lu(287) * lu(576)
         lu(578) = lu(578) - lu(288) * lu(576)
         lu(579) = lu(579) - lu(289) * lu(576)
         lu(580) = lu(580) - lu(290) * lu(576)
         lu(581) = lu(581) - lu(291) * lu(576)
         lu(582) = lu(582) - lu(292) * lu(576)
         lu(583) = lu(583) - lu(293) * lu(576)
         lu(584) = lu(584) - lu(294) * lu(576)
         lu(585) = lu(585) - lu(295) * lu(576)
         lu(586) = lu(586) - lu(296) * lu(576)
         lu(587) = lu(587) - lu(297) * lu(576)
         lu(588) = lu(588) - lu(298) * lu(576)
         lu(308) = 1._r8 / lu(308)
         lu(309) = lu(309) * lu(308)
         lu(310) = lu(310) * lu(308)
         lu(311) = lu(311) * lu(308)
         lu(312) = lu(312) * lu(308)
         lu(313) = lu(313) * lu(308)
         lu(314) = lu(314) * lu(308)
         lu(315) = lu(315) * lu(308)
         lu(316) = lu(316) * lu(308)
         lu(317) = lu(317) * lu(308)
         lu(318) = lu(318) * lu(308)
         lu(319) = lu(319) * lu(308)
         lu(347) = lu(347) - lu(309) * lu(346)
         lu(348) = lu(348) - lu(310) * lu(346)
         lu(349) = lu(349) - lu(311) * lu(346)
         lu(350) = lu(350) - lu(312) * lu(346)
         lu(351) = lu(351) - lu(313) * lu(346)
         lu(352) = lu(352) - lu(314) * lu(346)
         lu(353) = lu(353) - lu(315) * lu(346)
         lu(354) = lu(354) - lu(316) * lu(346)
         lu(355) = lu(355) - lu(317) * lu(346)
         lu(356) = lu(356) - lu(318) * lu(346)
         lu(357) = lu(357) - lu(319) * lu(346)
         lu(372) = lu(372) - lu(309) * lu(371)
         lu(373) = lu(373) - lu(310) * lu(371)
         lu(374) = lu(374) - lu(311) * lu(371)
         lu(375) = lu(375) - lu(312) * lu(371)
         lu(376) = lu(376) - lu(313) * lu(371)
         lu(377) = lu(377) - lu(314) * lu(371)
         lu(378) = lu(378) - lu(315) * lu(371)
         lu(379) = lu(379) - lu(316) * lu(371)
         lu(380) = lu(380) - lu(317) * lu(371)
         lu(381) = lu(381) - lu(318) * lu(371)
         lu(382) = lu(382) - lu(319) * lu(371)
         lu(395) = lu(395) - lu(309) * lu(394)
         lu(396) = lu(396) - lu(310) * lu(394)
         lu(397) = lu(397) - lu(311) * lu(394)
         lu(398) = lu(398) - lu(312) * lu(394)
         lu(399) = lu(399) - lu(313) * lu(394)
         lu(400) = lu(400) - lu(314) * lu(394)
         lu(401) = lu(401) - lu(315) * lu(394)
         lu(402) = lu(402) - lu(316) * lu(394)
         lu(403) = lu(403) - lu(317) * lu(394)
         lu(404) = lu(404) - lu(318) * lu(394)
         lu(405) = lu(405) - lu(319) * lu(394)
         lu(416) = lu(416) - lu(309) * lu(415)
         lu(417) = lu(417) - lu(310) * lu(415)
         lu(418) = lu(418) - lu(311) * lu(415)
         lu(419) = lu(419) - lu(312) * lu(415)
         lu(420) = lu(420) - lu(313) * lu(415)
         lu(421) = lu(421) - lu(314) * lu(415)
         lu(422) = lu(422) - lu(315) * lu(415)
         lu(423) = lu(423) - lu(316) * lu(415)
         lu(424) = lu(424) - lu(317) * lu(415)
         lu(425) = lu(425) - lu(318) * lu(415)
         lu(426) = lu(426) - lu(319) * lu(415)
         lu(446) = lu(446) - lu(309) * lu(445)
         lu(447) = lu(447) - lu(310) * lu(445)
         lu(448) = lu(448) - lu(311) * lu(445)
         lu(449) = lu(449) - lu(312) * lu(445)
         lu(450) = lu(450) - lu(313) * lu(445)
         lu(451) = lu(451) - lu(314) * lu(445)
         lu(452) = lu(452) - lu(315) * lu(445)
         lu(453) = lu(453) - lu(316) * lu(445)
         lu(454) = lu(454) - lu(317) * lu(445)
         lu(455) = lu(455) - lu(318) * lu(445)
         lu(456) = lu(456) - lu(319) * lu(445)
         lu(465) = lu(465) - lu(309) * lu(464)
         lu(466) = lu(466) - lu(310) * lu(464)
         lu(467) = lu(467) - lu(311) * lu(464)
         lu(468) = lu(468) - lu(312) * lu(464)
         lu(469) = lu(469) - lu(313) * lu(464)
         lu(470) = lu(470) - lu(314) * lu(464)
         lu(471) = lu(471) - lu(315) * lu(464)
         lu(472) = lu(472) - lu(316) * lu(464)
         lu(473) = lu(473) - lu(317) * lu(464)
         lu(474) = lu(474) - lu(318) * lu(464)
         lu(475) = lu(475) - lu(319) * lu(464)
         lu(484) = lu(484) - lu(309) * lu(483)
         lu(485) = lu(485) - lu(310) * lu(483)
         lu(486) = lu(486) - lu(311) * lu(483)
         lu(487) = lu(487) - lu(312) * lu(483)
         lu(488) = lu(488) - lu(313) * lu(483)
         lu(489) = lu(489) - lu(314) * lu(483)
         lu(490) = lu(490) - lu(315) * lu(483)
         lu(491) = lu(491) - lu(316) * lu(483)
         lu(492) = lu(492) - lu(317) * lu(483)
         lu(493) = lu(493) - lu(318) * lu(483)
         lu(494) = lu(494) - lu(319) * lu(483)
         lu(503) = lu(503) - lu(309) * lu(502)
         lu(504) = lu(504) - lu(310) * lu(502)
         lu(505) = lu(505) - lu(311) * lu(502)
         lu(506) = lu(506) - lu(312) * lu(502)
         lu(507) = lu(507) - lu(313) * lu(502)
         lu(508) = lu(508) - lu(314) * lu(502)
         lu(509) = lu(509) - lu(315) * lu(502)
         lu(510) = lu(510) - lu(316) * lu(502)
         lu(511) = lu(511) - lu(317) * lu(502)
         lu(512) = lu(512) - lu(318) * lu(502)
         lu(513) = lu(513) - lu(319) * lu(502)
         lu(527) = lu(527) - lu(309) * lu(526)
         lu(528) = lu(528) - lu(310) * lu(526)
         lu(529) = lu(529) - lu(311) * lu(526)
         lu(530) = lu(530) - lu(312) * lu(526)
         lu(531) = lu(531) - lu(313) * lu(526)
         lu(532) = lu(532) - lu(314) * lu(526)
         lu(533) = lu(533) - lu(315) * lu(526)
         lu(534) = lu(534) - lu(316) * lu(526)
         lu(535) = lu(535) - lu(317) * lu(526)
         lu(536) = lu(536) - lu(318) * lu(526)
         lu(537) = lu(537) - lu(319) * lu(526)
         lu(548) = lu(548) - lu(309) * lu(547)
         lu(549) = lu(549) - lu(310) * lu(547)
         lu(550) = lu(550) - lu(311) * lu(547)
         lu(551) = lu(551) - lu(312) * lu(547)
         lu(552) = lu(552) - lu(313) * lu(547)
         lu(553) = lu(553) - lu(314) * lu(547)
         lu(554) = lu(554) - lu(315) * lu(547)
         lu(555) = lu(555) - lu(316) * lu(547)
         lu(556) = lu(556) - lu(317) * lu(547)
         lu(557) = lu(557) - lu(318) * lu(547)
         lu(558) = lu(558) - lu(319) * lu(547)
         lu(578) = lu(578) - lu(309) * lu(577)
         lu(579) = lu(579) - lu(310) * lu(577)
         lu(580) = lu(580) - lu(311) * lu(577)
         lu(581) = lu(581) - lu(312) * lu(577)
         lu(582) = lu(582) - lu(313) * lu(577)
         lu(583) = lu(583) - lu(314) * lu(577)
         lu(584) = lu(584) - lu(315) * lu(577)
         lu(585) = lu(585) - lu(316) * lu(577)
         lu(586) = lu(586) - lu(317) * lu(577)
         lu(587) = lu(587) - lu(318) * lu(577)
         lu(588) = lu(588) - lu(319) * lu(577)
         lu(347) = 1._r8 / lu(347)
         lu(348) = lu(348) * lu(347)
         lu(349) = lu(349) * lu(347)
         lu(350) = lu(350) * lu(347)
         lu(351) = lu(351) * lu(347)
         lu(352) = lu(352) * lu(347)
         lu(353) = lu(353) * lu(347)
         lu(354) = lu(354) * lu(347)
         lu(355) = lu(355) * lu(347)
         lu(356) = lu(356) * lu(347)
         lu(357) = lu(357) * lu(347)
         lu(373) = lu(373) - lu(348) * lu(372)
         lu(374) = lu(374) - lu(349) * lu(372)
         lu(375) = lu(375) - lu(350) * lu(372)
         lu(376) = lu(376) - lu(351) * lu(372)
         lu(377) = lu(377) - lu(352) * lu(372)
         lu(378) = lu(378) - lu(353) * lu(372)
         lu(379) = lu(379) - lu(354) * lu(372)
         lu(380) = lu(380) - lu(355) * lu(372)
         lu(381) = lu(381) - lu(356) * lu(372)
         lu(382) = lu(382) - lu(357) * lu(372)
         lu(396) = lu(396) - lu(348) * lu(395)
         lu(397) = lu(397) - lu(349) * lu(395)
         lu(398) = lu(398) - lu(350) * lu(395)
         lu(399) = lu(399) - lu(351) * lu(395)
         lu(400) = lu(400) - lu(352) * lu(395)
         lu(401) = lu(401) - lu(353) * lu(395)
         lu(402) = lu(402) - lu(354) * lu(395)
         lu(403) = lu(403) - lu(355) * lu(395)
         lu(404) = lu(404) - lu(356) * lu(395)
         lu(405) = lu(405) - lu(357) * lu(395)
         lu(417) = lu(417) - lu(348) * lu(416)
         lu(418) = lu(418) - lu(349) * lu(416)
         lu(419) = lu(419) - lu(350) * lu(416)
         lu(420) = lu(420) - lu(351) * lu(416)
         lu(421) = lu(421) - lu(352) * lu(416)
         lu(422) = lu(422) - lu(353) * lu(416)
         lu(423) = lu(423) - lu(354) * lu(416)
         lu(424) = lu(424) - lu(355) * lu(416)
         lu(425) = lu(425) - lu(356) * lu(416)
         lu(426) = lu(426) - lu(357) * lu(416)
         lu(447) = lu(447) - lu(348) * lu(446)
         lu(448) = lu(448) - lu(349) * lu(446)
         lu(449) = lu(449) - lu(350) * lu(446)
         lu(450) = lu(450) - lu(351) * lu(446)
         lu(451) = lu(451) - lu(352) * lu(446)
         lu(452) = lu(452) - lu(353) * lu(446)
         lu(453) = lu(453) - lu(354) * lu(446)
         lu(454) = lu(454) - lu(355) * lu(446)
         lu(455) = lu(455) - lu(356) * lu(446)
         lu(456) = lu(456) - lu(357) * lu(446)
         lu(466) = lu(466) - lu(348) * lu(465)
         lu(467) = lu(467) - lu(349) * lu(465)
         lu(468) = lu(468) - lu(350) * lu(465)
         lu(469) = lu(469) - lu(351) * lu(465)
         lu(470) = lu(470) - lu(352) * lu(465)
         lu(471) = lu(471) - lu(353) * lu(465)
         lu(472) = lu(472) - lu(354) * lu(465)
         lu(473) = lu(473) - lu(355) * lu(465)
         lu(474) = lu(474) - lu(356) * lu(465)
         lu(475) = lu(475) - lu(357) * lu(465)
         lu(485) = lu(485) - lu(348) * lu(484)
         lu(486) = lu(486) - lu(349) * lu(484)
         lu(487) = lu(487) - lu(350) * lu(484)
         lu(488) = lu(488) - lu(351) * lu(484)
         lu(489) = lu(489) - lu(352) * lu(484)
         lu(490) = lu(490) - lu(353) * lu(484)
         lu(491) = lu(491) - lu(354) * lu(484)
         lu(492) = lu(492) - lu(355) * lu(484)
         lu(493) = lu(493) - lu(356) * lu(484)
         lu(494) = lu(494) - lu(357) * lu(484)
         lu(504) = lu(504) - lu(348) * lu(503)
         lu(505) = lu(505) - lu(349) * lu(503)
         lu(506) = lu(506) - lu(350) * lu(503)
         lu(507) = lu(507) - lu(351) * lu(503)
         lu(508) = lu(508) - lu(352) * lu(503)
         lu(509) = lu(509) - lu(353) * lu(503)
         lu(510) = lu(510) - lu(354) * lu(503)
         lu(511) = lu(511) - lu(355) * lu(503)
         lu(512) = lu(512) - lu(356) * lu(503)
         lu(513) = lu(513) - lu(357) * lu(503)
         lu(528) = lu(528) - lu(348) * lu(527)
         lu(529) = lu(529) - lu(349) * lu(527)
         lu(530) = lu(530) - lu(350) * lu(527)
         lu(531) = lu(531) - lu(351) * lu(527)
         lu(532) = lu(532) - lu(352) * lu(527)
         lu(533) = lu(533) - lu(353) * lu(527)
         lu(534) = lu(534) - lu(354) * lu(527)
         lu(535) = lu(535) - lu(355) * lu(527)
         lu(536) = lu(536) - lu(356) * lu(527)
         lu(537) = lu(537) - lu(357) * lu(527)
         lu(549) = lu(549) - lu(348) * lu(548)
         lu(550) = lu(550) - lu(349) * lu(548)
         lu(551) = lu(551) - lu(350) * lu(548)
         lu(552) = lu(552) - lu(351) * lu(548)
         lu(553) = lu(553) - lu(352) * lu(548)
         lu(554) = lu(554) - lu(353) * lu(548)
         lu(555) = lu(555) - lu(354) * lu(548)
         lu(556) = lu(556) - lu(355) * lu(548)
         lu(557) = lu(557) - lu(356) * lu(548)
         lu(558) = lu(558) - lu(357) * lu(548)
         lu(579) = lu(579) - lu(348) * lu(578)
         lu(580) = lu(580) - lu(349) * lu(578)
         lu(581) = lu(581) - lu(350) * lu(578)
         lu(582) = lu(582) - lu(351) * lu(578)
         lu(583) = lu(583) - lu(352) * lu(578)
         lu(584) = lu(584) - lu(353) * lu(578)
         lu(585) = lu(585) - lu(354) * lu(578)
         lu(586) = lu(586) - lu(355) * lu(578)
         lu(587) = lu(587) - lu(356) * lu(578)
         lu(588) = lu(588) - lu(357) * lu(578)
         lu(373) = 1._r8 / lu(373)
         lu(374) = lu(374) * lu(373)
         lu(375) = lu(375) * lu(373)
         lu(376) = lu(376) * lu(373)
         lu(377) = lu(377) * lu(373)
         lu(378) = lu(378) * lu(373)
         lu(379) = lu(379) * lu(373)
         lu(380) = lu(380) * lu(373)
         lu(381) = lu(381) * lu(373)
         lu(382) = lu(382) * lu(373)
         lu(397) = lu(397) - lu(374) * lu(396)
         lu(398) = lu(398) - lu(375) * lu(396)
         lu(399) = lu(399) - lu(376) * lu(396)
         lu(400) = lu(400) - lu(377) * lu(396)
         lu(401) = lu(401) - lu(378) * lu(396)
         lu(402) = lu(402) - lu(379) * lu(396)
         lu(403) = lu(403) - lu(380) * lu(396)
         lu(404) = lu(404) - lu(381) * lu(396)
         lu(405) = lu(405) - lu(382) * lu(396)
         lu(418) = lu(418) - lu(374) * lu(417)
         lu(419) = lu(419) - lu(375) * lu(417)
         lu(420) = lu(420) - lu(376) * lu(417)
         lu(421) = lu(421) - lu(377) * lu(417)
         lu(422) = lu(422) - lu(378) * lu(417)
         lu(423) = lu(423) - lu(379) * lu(417)
         lu(424) = lu(424) - lu(380) * lu(417)
         lu(425) = lu(425) - lu(381) * lu(417)
         lu(426) = lu(426) - lu(382) * lu(417)
         lu(448) = lu(448) - lu(374) * lu(447)
         lu(449) = lu(449) - lu(375) * lu(447)
         lu(450) = lu(450) - lu(376) * lu(447)
         lu(451) = lu(451) - lu(377) * lu(447)
         lu(452) = lu(452) - lu(378) * lu(447)
         lu(453) = lu(453) - lu(379) * lu(447)
         lu(454) = lu(454) - lu(380) * lu(447)
         lu(455) = lu(455) - lu(381) * lu(447)
         lu(456) = lu(456) - lu(382) * lu(447)
         lu(467) = lu(467) - lu(374) * lu(466)
         lu(468) = lu(468) - lu(375) * lu(466)
         lu(469) = lu(469) - lu(376) * lu(466)
         lu(470) = lu(470) - lu(377) * lu(466)
         lu(471) = lu(471) - lu(378) * lu(466)
         lu(472) = lu(472) - lu(379) * lu(466)
         lu(473) = lu(473) - lu(380) * lu(466)
         lu(474) = lu(474) - lu(381) * lu(466)
         lu(475) = lu(475) - lu(382) * lu(466)
         lu(486) = lu(486) - lu(374) * lu(485)
         lu(487) = lu(487) - lu(375) * lu(485)
         lu(488) = lu(488) - lu(376) * lu(485)
         lu(489) = lu(489) - lu(377) * lu(485)
         lu(490) = lu(490) - lu(378) * lu(485)
         lu(491) = lu(491) - lu(379) * lu(485)
         lu(492) = lu(492) - lu(380) * lu(485)
         lu(493) = lu(493) - lu(381) * lu(485)
         lu(494) = lu(494) - lu(382) * lu(485)
         lu(505) = lu(505) - lu(374) * lu(504)
         lu(506) = lu(506) - lu(375) * lu(504)
         lu(507) = lu(507) - lu(376) * lu(504)
         lu(508) = lu(508) - lu(377) * lu(504)
         lu(509) = lu(509) - lu(378) * lu(504)
         lu(510) = lu(510) - lu(379) * lu(504)
         lu(511) = lu(511) - lu(380) * lu(504)
         lu(512) = lu(512) - lu(381) * lu(504)
         lu(513) = lu(513) - lu(382) * lu(504)
         lu(529) = lu(529) - lu(374) * lu(528)
         lu(530) = lu(530) - lu(375) * lu(528)
         lu(531) = lu(531) - lu(376) * lu(528)
         lu(532) = lu(532) - lu(377) * lu(528)
         lu(533) = lu(533) - lu(378) * lu(528)
         lu(534) = lu(534) - lu(379) * lu(528)
         lu(535) = lu(535) - lu(380) * lu(528)
         lu(536) = lu(536) - lu(381) * lu(528)
         lu(537) = lu(537) - lu(382) * lu(528)
         lu(550) = lu(550) - lu(374) * lu(549)
         lu(551) = lu(551) - lu(375) * lu(549)
         lu(552) = lu(552) - lu(376) * lu(549)
         lu(553) = lu(553) - lu(377) * lu(549)
         lu(554) = lu(554) - lu(378) * lu(549)
         lu(555) = lu(555) - lu(379) * lu(549)
         lu(556) = lu(556) - lu(380) * lu(549)
         lu(557) = lu(557) - lu(381) * lu(549)
         lu(558) = lu(558) - lu(382) * lu(549)
         lu(580) = lu(580) - lu(374) * lu(579)
         lu(581) = lu(581) - lu(375) * lu(579)
         lu(582) = lu(582) - lu(376) * lu(579)
         lu(583) = lu(583) - lu(377) * lu(579)
         lu(584) = lu(584) - lu(378) * lu(579)
         lu(585) = lu(585) - lu(379) * lu(579)
         lu(586) = lu(586) - lu(380) * lu(579)
         lu(587) = lu(587) - lu(381) * lu(579)
         lu(588) = lu(588) - lu(382) * lu(579)
         lu(397) = 1._r8 / lu(397)
         lu(398) = lu(398) * lu(397)
         lu(399) = lu(399) * lu(397)
         lu(400) = lu(400) * lu(397)
         lu(401) = lu(401) * lu(397)
         lu(402) = lu(402) * lu(397)
         lu(403) = lu(403) * lu(397)
         lu(404) = lu(404) * lu(397)
         lu(405) = lu(405) * lu(397)
         lu(419) = lu(419) - lu(398) * lu(418)
         lu(420) = lu(420) - lu(399) * lu(418)
         lu(421) = lu(421) - lu(400) * lu(418)
         lu(422) = lu(422) - lu(401) * lu(418)
         lu(423) = lu(423) - lu(402) * lu(418)
         lu(424) = lu(424) - lu(403) * lu(418)
         lu(425) = lu(425) - lu(404) * lu(418)
         lu(426) = lu(426) - lu(405) * lu(418)
         lu(449) = lu(449) - lu(398) * lu(448)
         lu(450) = lu(450) - lu(399) * lu(448)
         lu(451) = lu(451) - lu(400) * lu(448)
         lu(452) = lu(452) - lu(401) * lu(448)
         lu(453) = lu(453) - lu(402) * lu(448)
         lu(454) = lu(454) - lu(403) * lu(448)
         lu(455) = lu(455) - lu(404) * lu(448)
         lu(456) = lu(456) - lu(405) * lu(448)
         lu(468) = lu(468) - lu(398) * lu(467)
         lu(469) = lu(469) - lu(399) * lu(467)
         lu(470) = lu(470) - lu(400) * lu(467)
         lu(471) = lu(471) - lu(401) * lu(467)
         lu(472) = lu(472) - lu(402) * lu(467)
         lu(473) = lu(473) - lu(403) * lu(467)
         lu(474) = lu(474) - lu(404) * lu(467)
         lu(475) = lu(475) - lu(405) * lu(467)
         lu(487) = lu(487) - lu(398) * lu(486)
         lu(488) = lu(488) - lu(399) * lu(486)
         lu(489) = lu(489) - lu(400) * lu(486)
         lu(490) = lu(490) - lu(401) * lu(486)
         lu(491) = lu(491) - lu(402) * lu(486)
         lu(492) = lu(492) - lu(403) * lu(486)
         lu(493) = lu(493) - lu(404) * lu(486)
         lu(494) = lu(494) - lu(405) * lu(486)
         lu(506) = lu(506) - lu(398) * lu(505)
         lu(507) = lu(507) - lu(399) * lu(505)
         lu(508) = lu(508) - lu(400) * lu(505)
         lu(509) = lu(509) - lu(401) * lu(505)
         lu(510) = lu(510) - lu(402) * lu(505)
         lu(511) = lu(511) - lu(403) * lu(505)
         lu(512) = lu(512) - lu(404) * lu(505)
         lu(513) = lu(513) - lu(405) * lu(505)
         lu(530) = lu(530) - lu(398) * lu(529)
         lu(531) = lu(531) - lu(399) * lu(529)
         lu(532) = lu(532) - lu(400) * lu(529)
         lu(533) = lu(533) - lu(401) * lu(529)
         lu(534) = lu(534) - lu(402) * lu(529)
         lu(535) = lu(535) - lu(403) * lu(529)
         lu(536) = lu(536) - lu(404) * lu(529)
         lu(537) = lu(537) - lu(405) * lu(529)
         lu(551) = lu(551) - lu(398) * lu(550)
         lu(552) = lu(552) - lu(399) * lu(550)
         lu(553) = lu(553) - lu(400) * lu(550)
         lu(554) = lu(554) - lu(401) * lu(550)
         lu(555) = lu(555) - lu(402) * lu(550)
         lu(556) = lu(556) - lu(403) * lu(550)
         lu(557) = lu(557) - lu(404) * lu(550)
         lu(558) = lu(558) - lu(405) * lu(550)
         lu(581) = lu(581) - lu(398) * lu(580)
         lu(582) = lu(582) - lu(399) * lu(580)
         lu(583) = lu(583) - lu(400) * lu(580)
         lu(584) = lu(584) - lu(401) * lu(580)
         lu(585) = lu(585) - lu(402) * lu(580)
         lu(586) = lu(586) - lu(403) * lu(580)
         lu(587) = lu(587) - lu(404) * lu(580)
         lu(588) = lu(588) - lu(405) * lu(580)
      end subroutine lu_fac07
      subroutine lu_fac08( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(419) = 1._r8 / lu(419)
         lu(420) = lu(420) * lu(419)
         lu(421) = lu(421) * lu(419)
         lu(422) = lu(422) * lu(419)
         lu(423) = lu(423) * lu(419)
         lu(424) = lu(424) * lu(419)
         lu(425) = lu(425) * lu(419)
         lu(426) = lu(426) * lu(419)
         lu(450) = lu(450) - lu(420) * lu(449)
         lu(451) = lu(451) - lu(421) * lu(449)
         lu(452) = lu(452) - lu(422) * lu(449)
         lu(453) = lu(453) - lu(423) * lu(449)
         lu(454) = lu(454) - lu(424) * lu(449)
         lu(455) = lu(455) - lu(425) * lu(449)
         lu(456) = lu(456) - lu(426) * lu(449)
         lu(469) = lu(469) - lu(420) * lu(468)
         lu(470) = lu(470) - lu(421) * lu(468)
         lu(471) = lu(471) - lu(422) * lu(468)
         lu(472) = lu(472) - lu(423) * lu(468)
         lu(473) = lu(473) - lu(424) * lu(468)
         lu(474) = lu(474) - lu(425) * lu(468)
         lu(475) = lu(475) - lu(426) * lu(468)
         lu(488) = lu(488) - lu(420) * lu(487)
         lu(489) = lu(489) - lu(421) * lu(487)
         lu(490) = lu(490) - lu(422) * lu(487)
         lu(491) = lu(491) - lu(423) * lu(487)
         lu(492) = lu(492) - lu(424) * lu(487)
         lu(493) = lu(493) - lu(425) * lu(487)
         lu(494) = lu(494) - lu(426) * lu(487)
         lu(507) = lu(507) - lu(420) * lu(506)
         lu(508) = lu(508) - lu(421) * lu(506)
         lu(509) = lu(509) - lu(422) * lu(506)
         lu(510) = lu(510) - lu(423) * lu(506)
         lu(511) = lu(511) - lu(424) * lu(506)
         lu(512) = lu(512) - lu(425) * lu(506)
         lu(513) = lu(513) - lu(426) * lu(506)
         lu(531) = lu(531) - lu(420) * lu(530)
         lu(532) = lu(532) - lu(421) * lu(530)
         lu(533) = lu(533) - lu(422) * lu(530)
         lu(534) = lu(534) - lu(423) * lu(530)
         lu(535) = lu(535) - lu(424) * lu(530)
         lu(536) = lu(536) - lu(425) * lu(530)
         lu(537) = lu(537) - lu(426) * lu(530)
         lu(552) = lu(552) - lu(420) * lu(551)
         lu(553) = lu(553) - lu(421) * lu(551)
         lu(554) = lu(554) - lu(422) * lu(551)
         lu(555) = lu(555) - lu(423) * lu(551)
         lu(556) = lu(556) - lu(424) * lu(551)
         lu(557) = lu(557) - lu(425) * lu(551)
         lu(558) = lu(558) - lu(426) * lu(551)
         lu(582) = lu(582) - lu(420) * lu(581)
         lu(583) = lu(583) - lu(421) * lu(581)
         lu(584) = lu(584) - lu(422) * lu(581)
         lu(585) = lu(585) - lu(423) * lu(581)
         lu(586) = lu(586) - lu(424) * lu(581)
         lu(587) = lu(587) - lu(425) * lu(581)
         lu(588) = lu(588) - lu(426) * lu(581)
         lu(450) = 1._r8 / lu(450)
         lu(451) = lu(451) * lu(450)
         lu(452) = lu(452) * lu(450)
         lu(453) = lu(453) * lu(450)
         lu(454) = lu(454) * lu(450)
         lu(455) = lu(455) * lu(450)
         lu(456) = lu(456) * lu(450)
         lu(470) = lu(470) - lu(451) * lu(469)
         lu(471) = lu(471) - lu(452) * lu(469)
         lu(472) = lu(472) - lu(453) * lu(469)
         lu(473) = lu(473) - lu(454) * lu(469)
         lu(474) = lu(474) - lu(455) * lu(469)
         lu(475) = lu(475) - lu(456) * lu(469)
         lu(489) = lu(489) - lu(451) * lu(488)
         lu(490) = lu(490) - lu(452) * lu(488)
         lu(491) = lu(491) - lu(453) * lu(488)
         lu(492) = lu(492) - lu(454) * lu(488)
         lu(493) = lu(493) - lu(455) * lu(488)
         lu(494) = lu(494) - lu(456) * lu(488)
         lu(508) = lu(508) - lu(451) * lu(507)
         lu(509) = lu(509) - lu(452) * lu(507)
         lu(510) = lu(510) - lu(453) * lu(507)
         lu(511) = lu(511) - lu(454) * lu(507)
         lu(512) = lu(512) - lu(455) * lu(507)
         lu(513) = lu(513) - lu(456) * lu(507)
         lu(532) = lu(532) - lu(451) * lu(531)
         lu(533) = lu(533) - lu(452) * lu(531)
         lu(534) = lu(534) - lu(453) * lu(531)
         lu(535) = lu(535) - lu(454) * lu(531)
         lu(536) = lu(536) - lu(455) * lu(531)
         lu(537) = lu(537) - lu(456) * lu(531)
         lu(553) = lu(553) - lu(451) * lu(552)
         lu(554) = lu(554) - lu(452) * lu(552)
         lu(555) = lu(555) - lu(453) * lu(552)
         lu(556) = lu(556) - lu(454) * lu(552)
         lu(557) = lu(557) - lu(455) * lu(552)
         lu(558) = lu(558) - lu(456) * lu(552)
         lu(583) = lu(583) - lu(451) * lu(582)
         lu(584) = lu(584) - lu(452) * lu(582)
         lu(585) = lu(585) - lu(453) * lu(582)
         lu(586) = lu(586) - lu(454) * lu(582)
         lu(587) = lu(587) - lu(455) * lu(582)
         lu(588) = lu(588) - lu(456) * lu(582)
         lu(470) = 1._r8 / lu(470)
         lu(471) = lu(471) * lu(470)
         lu(472) = lu(472) * lu(470)
         lu(473) = lu(473) * lu(470)
         lu(474) = lu(474) * lu(470)
         lu(475) = lu(475) * lu(470)
         lu(490) = lu(490) - lu(471) * lu(489)
         lu(491) = lu(491) - lu(472) * lu(489)
         lu(492) = lu(492) - lu(473) * lu(489)
         lu(493) = lu(493) - lu(474) * lu(489)
         lu(494) = lu(494) - lu(475) * lu(489)
         lu(509) = lu(509) - lu(471) * lu(508)
         lu(510) = lu(510) - lu(472) * lu(508)
         lu(511) = lu(511) - lu(473) * lu(508)
         lu(512) = lu(512) - lu(474) * lu(508)
         lu(513) = lu(513) - lu(475) * lu(508)
         lu(533) = lu(533) - lu(471) * lu(532)
         lu(534) = lu(534) - lu(472) * lu(532)
         lu(535) = lu(535) - lu(473) * lu(532)
         lu(536) = lu(536) - lu(474) * lu(532)
         lu(537) = lu(537) - lu(475) * lu(532)
         lu(554) = lu(554) - lu(471) * lu(553)
         lu(555) = lu(555) - lu(472) * lu(553)
         lu(556) = lu(556) - lu(473) * lu(553)
         lu(557) = lu(557) - lu(474) * lu(553)
         lu(558) = lu(558) - lu(475) * lu(553)
         lu(584) = lu(584) - lu(471) * lu(583)
         lu(585) = lu(585) - lu(472) * lu(583)
         lu(586) = lu(586) - lu(473) * lu(583)
         lu(587) = lu(587) - lu(474) * lu(583)
         lu(588) = lu(588) - lu(475) * lu(583)
         lu(490) = 1._r8 / lu(490)
         lu(491) = lu(491) * lu(490)
         lu(492) = lu(492) * lu(490)
         lu(493) = lu(493) * lu(490)
         lu(494) = lu(494) * lu(490)
         lu(510) = lu(510) - lu(491) * lu(509)
         lu(511) = lu(511) - lu(492) * lu(509)
         lu(512) = lu(512) - lu(493) * lu(509)
         lu(513) = lu(513) - lu(494) * lu(509)
         lu(534) = lu(534) - lu(491) * lu(533)
         lu(535) = lu(535) - lu(492) * lu(533)
         lu(536) = lu(536) - lu(493) * lu(533)
         lu(537) = lu(537) - lu(494) * lu(533)
         lu(555) = lu(555) - lu(491) * lu(554)
         lu(556) = lu(556) - lu(492) * lu(554)
         lu(557) = lu(557) - lu(493) * lu(554)
         lu(558) = lu(558) - lu(494) * lu(554)
         lu(585) = lu(585) - lu(491) * lu(584)
         lu(586) = lu(586) - lu(492) * lu(584)
         lu(587) = lu(587) - lu(493) * lu(584)
         lu(588) = lu(588) - lu(494) * lu(584)
         lu(510) = 1._r8 / lu(510)
         lu(511) = lu(511) * lu(510)
         lu(512) = lu(512) * lu(510)
         lu(513) = lu(513) * lu(510)
         lu(535) = lu(535) - lu(511) * lu(534)
         lu(536) = lu(536) - lu(512) * lu(534)
         lu(537) = lu(537) - lu(513) * lu(534)
         lu(556) = lu(556) - lu(511) * lu(555)
         lu(557) = lu(557) - lu(512) * lu(555)
         lu(558) = lu(558) - lu(513) * lu(555)
         lu(586) = lu(586) - lu(511) * lu(585)
         lu(587) = lu(587) - lu(512) * lu(585)
         lu(588) = lu(588) - lu(513) * lu(585)
         lu(535) = 1._r8 / lu(535)
         lu(536) = lu(536) * lu(535)
         lu(537) = lu(537) * lu(535)
         lu(557) = lu(557) - lu(536) * lu(556)
         lu(558) = lu(558) - lu(537) * lu(556)
         lu(587) = lu(587) - lu(536) * lu(586)
         lu(588) = lu(588) - lu(537) * lu(586)
         lu(557) = 1._r8 / lu(557)
         lu(558) = lu(558) * lu(557)
         lu(588) = lu(588) - lu(558) * lu(587)
         lu(588) = 1._r8 / lu(588)
      end subroutine lu_fac08
      subroutine lu_fac( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
      call lu_fac01( lu )
      call lu_fac02( lu )
      call lu_fac03( lu )
      call lu_fac04( lu )
      call lu_fac05( lu )
      call lu_fac06( lu )
      call lu_fac07( lu )
      call lu_fac08( lu )
      end subroutine lu_fac
      end module mo_lu_factor
